<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>PHPDeveloper.org</title>
    <link>http://www.phpdeveloper.org</link>
    <description>Up-to-the Minute PHP News, views and community</description>
    <language>en-us</language>
    <pubDate>Thu, 20 Jun 2013 01:07:27 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Dougal Campbell: WordPress 10th Anniversary Blogging Project]]></title>
      <guid>http://www.phpdeveloper.org/news/19535</guid>
      <link>http://www.phpdeveloper.org/news/19535</link>
      <description><![CDATA[<p>
<i>Dougal Campbell</i> has a new post to his site with <a href="http://dougal.gunters.org/blog/2013/05/01/wordpress-10th-anniversary-blogging-project/">his own contribution</a> to the "WordPress 10th Anniversary Blogging Project" - a remembrance of his history with the tool and where/when he first started using it.
</p>
<blockquote>
The official 10th anniversary of the release of <a href="http://wordpress.org/">WordPress</a> is May 27, 2013. It has been an amazing 10 years, during which WordPress evolved from a simple blogware to a very full-featured CMS (Content Management System), used to power some of the biggest and most popular web sites on the internet. All over the world, people are <a href="http://wordpress.org/news/2013/04/save-the-date-may-27/">planning celebrations</a>. As much as I like a good party, I thought this would also be a good time to celebrate WordPress by actually using WordPress - for blogging.
</blockquote>
<p>
He talks some about when he got started with WordPress (2003) and what's happened since. He suggests that others follow suit and use the "#wp10" hashtag on Twitter to share their own posts.
</p>
Link: http://dougal.gunters.org/blog/2013/05/01/wordpress-10th-anniversary-blogging-project]]></description>
      <pubDate>Thu, 02 May 2013 10:22:48 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Systems Architect Blog: Apache2 vs Nginx for PHP application]]></title>
      <guid>http://www.phpdeveloper.org/news/19382</guid>
      <link>http://www.phpdeveloper.org/news/19382</link>
      <description><![CDATA[<p>
On the Systems Architect blog there's a recent post from <i>Lukasz Kujawa</i> about <a href="http://systemsarchitect.net/apache2-vs-nginx-for-php-application/">comparing Apache2 and Nginx</a> for PHP applications, specifically when using the PHP-FPM module. His tests are based on the results from three different application types - a large Zend Framework 1 app, a small PHP script and a WordPress installation.
</p>
<blockquote>
If you've ever been trying to squeeze more out of hardware you must have come across <a href="http://nginx.org/en/">Nginx</a> (engine x). Nginx usually appears in context of PHP-FPM (FastCGI Process Manager) and APC (Alternative PHP Cache). This setup is often pitched to be the ultimate combo for a web server but what that really means? How much faster a PHP application is going to be on a different web server? I had to check it and the answer as often is - that depends.
</blockquote>
<p>
He ran the tests on an Amazone EC2 instance and optimized the server to ensure that there was a little interference as possible. The used the Zend Optimizer Plus opcode cache and PHP 5.4 and set the logs to go to memory instead of disk. Graphs included in the post show the results of the benchmarking of each application, with the differences (in most cases) not being that wide of a gap.
</p>
<blockquote>
There isn't big difference between Apache2 and Nginx in PHP context. Yes, Nginx can be much faster when delivering static content but it won't speed up PHP execution. Running a PHP script seams to be so CPU challenging task that it completely eclipse any gain from a web server.
</blockquote>]]></description>
      <pubDate>Fri, 29 Mar 2013 10:41:38 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[DevShed: Hackers Compromise PHP Sites to Launch Attacks]]></title>
      <guid>http://www.phpdeveloper.org/news/18911</guid>
      <link>http://www.phpdeveloper.org/news/18911</link>
      <description><![CDATA[<p>
According to <a href="http://www.devshed.com/c/a/PHP/Hackers-Compromise-PHP-Sites-to-Launch-Attacks-93656/">this new post</a> on DevShed, there have been several targeted attacks against U.S. bank websites (DDoS), some of which involved the compromise of PHP-based applications.
</p>
<blockquote>
Once the hackers got into the PHP-based websites, they inserted toolkits to turn them into launch pads for their distributed denial-of-service attacks. Hackers then launched the attacks on banks by connecting directly to the compromised PHP-based websites and sending them commands, or took advantage of intermediate servers, proxies or scripts to make the websites do their bidding. InformationWeek lists three attack tools used by the hackers: KamiKaze, AMOS, and the "itsokaynoproblembro" toolkit, also known as Brobot.
</blockquote>
<p>
Several major banks have been targeted including Bank of America, JP Morgan/Chase, HSBC and Well Fargo. The main problem was out-of-date software running on the site containing known security issues the attackers could exploit to install their own software.
</p>
<blockquote>
If a hacker can break into a PHP-based website to use it as a staging area for an attack on a different website, they can also use that website to store stolen information. InformationWeek cited the example of the Eurograbber attack campaign, revealed earlier this month. The gang involved in that campaign stole $47 million from more than 30,000 corporate and private banking customers - and used PHP-based websites into which they hacked to store stolen information.
</blockquote>]]></description>
      <pubDate>Tue, 18 Dec 2012 12:07:35 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[SitePoint: WordPress v Joomla: Support and Community]]></title>
      <guid>http://www.phpdeveloper.org/news/18345</guid>
      <link>http://www.phpdeveloper.org/news/18345</link>
      <description><![CDATA[<p>
Without a doubt, two of the most popular PHP-based projects out there are WordPress and Joomla. In <a href="http://www.sitepoint.com/wordpress-v-joomla-support-and-community">this new post</a> from SitePoint they compare the two on the basis of both their support and community (part 4 of a 5 part series).
</p>
<blockquote>
Let's face it, an open-source content management system without a thorough user base, support system and community is destined for failure.  We are comparing two giants in the CMS game here, so we already know they must be doing many things right in these departments. In this part of our series, we're going to be covering exactly what Joomla and WordPress have to offer when it comes to the support community.
</blockquote>
<p>
Their comparison includes things like: WordPress.org vs Joomla.org, their respective support forums, other initiatives surrounding them and places you can find others to help you in your WordPress or Joomla work.
</p>]]></description>
      <pubDate>Fri, 10 Aug 2012 10:52:52 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPMaster.com: Master Dynamic Content with WordPress Shortcodes]]></title>
      <guid>http://www.phpdeveloper.org/news/18200</guid>
      <link>http://www.phpdeveloper.org/news/18200</link>
      <description><![CDATA[<p>
On PHPMaster.com today there's a new tutorial for the WordPress users out there looking to <a href="http://phpmaster.com/master-dynamic-content-with-wordpress-shortcodes/">work with dynamic content and shortcodes</a> to make your site easier to use and to bring more content to user's attention.
</p>
<blockquote>
The advantages to using shortcodes are obvious. First and foremost, it allows page designs to become far more unique. It also relieves the website administrator from having to create a large list of custom fields in order to perform basic content insertion. [...] And, finally, shortcodes allow a design to come alive and be truly dynamic and interesting to the end user. Too many WordPress blogs and magazine websites have adhered to the format of a big title, a standard block of text, and comments. That no longer has to be case.
</blockquote>
<p>
They talk about using the "functions.php" file for the custom functionality, who to use them in your posts and how to use them in the theme-specific instances. Using the "add_shortcode" you can relate these custom functions to their codes for both simple and more advanced calls (code included). 
</p>]]></description>
      <pubDate>Mon, 09 Jul 2012 11:47:13 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Cal Evans' Blog: Setting Up a (FREE) WordPress Development Site]]></title>
      <guid>http://www.phpdeveloper.org/news/18149</guid>
      <link>http://www.phpdeveloper.org/news/18149</link>
      <description><![CDATA[<p>
In <a href="http://blog.calevans.com/2012/06/27/setting-up-a-free-wordpress-development-site/">this new post</a> to his blog, <i>Cal Evans</i> shows developers (and non-developers) how they can set up a free WordPress blog with the help of the <a href="http://phpcloud.com">phpcloud.com</a> and <a href="phpfog.com">phpfog.com</a> hosted services.
</p>
<blockquote>
Everyone however, experiments. Whether it's a new theme or a new plugin, you really, really need someplace to test things. one of the worst thing you can do is what I do with this blog, just install things and play with them in production. [...] There is a solution though, actually, I'll present you with two. One for PHP developers who know what they are doing and want control, and one for regular bloggers who just want someplace to test plugins and themes before pushing them live. In both cases though, the services are free.
</blockquote>
<p>
He gives a brief introduction to setting up and configuring each of the services - one that lets you import your own version and the other that lets you select to automagically setup a WordPress instance.
</p>]]></description>
      <pubDate>Thu, 28 Jun 2012 08:49:15 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Tom Barrett's Blog: WordPress is more than a CMS, it is a PHP Framework]]></title>
      <guid>http://www.phpdeveloper.org/news/17948</guid>
      <link>http://www.phpdeveloper.org/news/17948</link>
      <description><![CDATA[<p>
<i>Tom Barrett</i> has a new post that shares an opinion he has about <a href="http://wordpress.org">WordPress</a> and what it can be used for - that the popular software is more than just a blog, <a href="http://www.tcbarrett.com/2012/05/wordpress-is-more-than-a-cms-it-is-a-php-framework/">it's a PHP framework</a>.
</p>
<blockquote>
A software library is a collection of resources used to develop software.  [...] A Software Framework is a software library with certain goals in mind [...]. Hopefully theme and plugin developers will be familiar enough with WordPress to see where I am going with this.
</blockquote>
<p>
He mentions some of the similarities WordPress has with other PHP frameworks including the integration of hooks/filters/plugins, working with core files that are maintained by an external entity and that it's a full-functional CMS out of the box.
</p>
<blockquote>
From this, I conclude that WordPress is a framework. It provides us with a library of resources that allow us to extend and specialize it into the site and CMS that we want.
</blockquote>]]></description>
      <pubDate>Fri, 11 May 2012 12:10:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPMaster.com: In My Language, Please! - Translating WordPress Themes and Plugins]]></title>
      <guid>http://www.phpdeveloper.org/news/17852</guid>
      <link>http://www.phpdeveloper.org/news/17852</link>
      <description><![CDATA[<p>
On PHPMaster.com there's a new tutorial showing how to <a href="http://phpmaster.com/in-my-language-please/">use the localization support</a> that comes with WordPress to make using different language definitions much simpler.
</p>
<blockquote>
WordPress itself is translated to many languages and people can use it in their preferred language. But this is not the case with themes, plugins, and other front-end customizations. [...] The purpose of this article is to show you how to translate properly any theme or plugin by using internationalization and localization methods. In brief, internationalization (i18n) deals with making sure strings of text are wrapped in specific function calls. 
</blockquote>
<p>
He starts by introducing the PHP functions (and configuration) you'll need to get the localization support up and running in your plugin, including a few examples of how to translate a string. Also included into the post is an introduction to using the <a href="http://www.poedit.net/">Poedit</a> software to create the different translation files.
</p>]]></description>
      <pubDate>Mon, 23 Apr 2012 12:27:36 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[DZone.com: How to Set up Wordpress on EC2 Using Puppet and Git]]></title>
      <guid>http://www.phpdeveloper.org/news/17757</guid>
      <link>http://www.phpdeveloper.org/news/17757</link>
      <description><![CDATA[<p>
On DZone.com there's <a href="http://css.dzone.com/articles/how-set-wordpress-ec2-using>a new article</a> from <i>Daniel Ackerson</i> showing how to set up a <a href="http://wordpress.org">WordPress</a> instance on an Amazon EC2 instance with the help of <a href="http://puppetlabs.com/">Puppet</a> and <a href="http://git-scm.com/>git</a>.
</p>
<blockquote>
Having started out on a <a href="http://www.agileweboperations.com/kent-langley-talks-about-joyent-their-new-accelerators-and-their-use-opensolaris">Joyent appliance</a>, migrating to Linode, and finally, to Amazon with a <a href="http://www.agileweboperations.com/migrate-your-wordpress-blog-to-a-bitnami-ec2-instance">Bitnami stack</a>, we noticed the common pain of manually configuring each of these environments. Bitnami caused us an even bigger headache by being very difficult to update (apt-get doesn't update the bitnami wrapped AMP stack). We decided to get full control of our box by setting up a stock Debian LAMP stack on AWS using Puppet and git to manage our sites. Here's a gentle introduction on how we did it.
</blockquote>
<p>He guides you through the entire process:</p>
<ul>
<li>Setting up a micro instance on EC2
<li>Signing up for <a href="http://unfuddle.com">unfuddle</a> (for git)
<li>Installing Puppet (standalone)
<li>Setting up your git repository to point to unfuddle
<li>The needed Puppet configuration files to get the WordPress instance deployed
</ul>
<p>
Complete code (and commands) are provided in the post.
</p>]]></description>
      <pubDate>Fri, 30 Mar 2012 09:14:52 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Smashing Magazine: Writing Unit Tests For WordPress Plugins]]></title>
      <guid>http://www.phpdeveloper.org/news/17652</guid>
      <link>http://www.phpdeveloper.org/news/17652</link>
      <description><![CDATA[<p>
On the Smashing Magazine site there's a recent post looking at how to <a href="http://coding.smashingmagazine.com/2012/03/07/writing-unit-tests-for-wordpress-plugins/">unit test WordPress plugins</a> via the frontend using <a href="http://docs.jquery.com/QUnit">QUnit</a> (part of the <a href="http://jquery.com">jQuery</a> project).
</p>
<blockquote>
My first goal for the WordPress Editorial Calendar was to make it do anything useful. I was new to JavaScript and PHP and didn't really know what I could pull off. In a few days I had a proof of concept. In a few more I had a working version and was asking friends to install it. The calendar worked...sort of. I spent three times as much time fixing bugs as I did coding. Once the plugin worked, I wrote unit tests to make sure it kept working.
</blockquote>
<p>
He introduces the QUnit testing tool and includes some sample tests showing you how to create both a pass/fail and how to test a PHP value passed out to the page via PHP. There's also a section on getting WordPress and QUnit integrated and only executing when there's a "qunit" parameter on the URL. Actual tests for his calendar plugin are included and you can <a href="http://www.zackgrossbart.com/extras/sandbox/wp-admin/edit.php?page=cal&qunit=true">see the results of the tests here</a>.
</p>]]></description>
      <pubDate>Fri, 09 Mar 2012 10:46:32 -0600</pubDate>
    </item>
  </channel>
</rss>
