<?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>Wed, 22 May 2013 17:50:31 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[PHP.net: PHP 5.5.0 Alpha2 released]]></title>
      <guid>http://www.phpdeveloper.org/news/18957</guid>
      <link>http://www.phpdeveloper.org/news/18957</link>
      <description><![CDATA[<p>
If you'd like to help with testing for the upcoming PHP 5.5.0 version, they've <a href="http://php.net/index.php#id2012-12-21-1">announced the release of the latest alpha</a> on the PHP.net site, ready for download and test execution.
</p>
<blockquote>
The PHP development team announces the immediate availability of PHP 5.5.0alpha2. This release adds new features and fix some bugs from alpha1. All users of PHP are encouraged to test this version carefully, and report any bugs in <a href="https://bugs.php.net/">the bug tracking system</a>.
</blockquote>
<p>
You can see the full list of the changes in 5.5.0 (so far) in the <a href="https://github.com/php/php-src/blob/php-5.5.0alpha2/NEWS">NEWS</a> file including things like using <a href="http://php.net/empty">empty</a> on return values, enabling systemtap by default for dtrace probes and optimized variable accessing. They need your help to make this upcoming release even better, so if you'd like to help out and test, go <a href="http://downloads.php.net/dsp">grab the download</a> (<a href="http://windows.php.net/qa/">Windows builds</a>).
</p>]]></description>
      <pubDate>Thu, 27 Dec 2012 10:22:13 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Matt Frost: TDD For the Unconverted]]></title>
      <guid>http://www.phpdeveloper.org/news/18776</guid>
      <link>http://www.phpdeveloper.org/news/18776</link>
      <description><![CDATA[<p>
<i>Matt Frost</i> has a new post today helping to explain test-driven development (TDD) <a href="http://shortwhitebaldguy.com/blog/2012/11/tdd-for-the-unconverted">for the unconverted</a> and some of the things that come with it in practice.
</p>
<blockquote>
You've heard of Test Driven Development, but you think; "I've got a horrifying monstrosity for a codebase, it's not testable so I can't do TDD". Let me be the first to tell you that you're wrong. I'm not into writing really controversial pieces, castigating people for not doing things a certain way. If you've considered TDD at any point in time, it's because you understand (at least in the theoretical sense) that having predictable software is beneficial. So this is for you, unconverted developer...
</blockquote>
<p>
He talks about how using TDD can help you build confidence in your code, make debugging issues easier in the project simpler and how - despite the initial time it takes to implement it in the process - it's worth it in the end. He also includes a few helpful suggestions when your team doesn't want to follow the method.
</p>]]></description>
      <pubDate>Tue, 20 Nov 2012 12:45:46 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[MaltBlue.com: 4 Keys to a Great Software Development Methodology]]></title>
      <guid>http://www.phpdeveloper.org/news/18150</guid>
      <link>http://www.phpdeveloper.org/news/18150</link>
      <description><![CDATA[<p>
On the MaltBlue.com blog <i>Matt</i> has posted <a href="http://www.maltblue.com/design/4-keys-to-a-great-software-development-methodology">four different keys</a> he sees to making a good software development environment and make for happier developers (and managers).
</p>
<blockquote>
A lot of the time when we're developing applications they're likely to be based around customizing or extending an existing application, such as WordPress, Joomla, Oxid eSales et al. In these cases, there's a clear set of rules and guidelines to work with. [...] But what about when we're building our own applications, bespoke ones, from scratch. [...] What do we do then? How do we set up a great software development methodology or set of processes to ensure that we develop cleanly, clearly and efficiently? In today's post, I'm going to go through 4 areas which can serve as a solid and reliable basis for us to do just this.
</blockquote>
<p>The four key elements he sees are:</p>
<ul>
<li>Organized Development Environment
<li>Organized Deployment Approach
<li>Organized Testing Approach
<li>Have a Professional Bug/Issues Database
</ul>
<p>
For each of these elements, he describes some of the methods and tools that can help make them possible.
</p>]]></description>
      <pubDate>Thu, 28 Jun 2012 09:26:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Gonzalo Ayuso's Blog: Strange behavior in PHP with method visibility]]></title>
      <guid>http://www.phpdeveloper.org/news/18012</guid>
      <link>http://www.phpdeveloper.org/news/18012</link>
      <description><![CDATA[<p>
In his <a href="http://gonzalo123.wordpress.com/2012/05/28/strange-behaviour-in-php-with-method-visibility/">recent post</a> <i>Gonzalo Ayuso</i> shares some "strange behavior" he found with method visibility in his recent development:
</p>
<blockquote>
Normally I feel very comfortable with PHP, but not all is good. There's some things I don't like. One is the lack of real annotations and another one is this rare behaviour with visibility within the OO. Let me explain this a little bit.
</blockquote>
<p>
The problem came up as a part of a recent refactor where a protected method, when called from an object injected into another class, threw an "access" error that it was called from the wrong context. He <a href="https://bugs.php.net/bug.php?id=62045">reported it as a bug</a> but was reminded of how PHP handles exposure - on the class level, not the instance of a class level.
</p>
]]></description>
      <pubDate>Mon, 28 May 2012 18:09:08 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHP.net: PHP 5.3.12 and 5.4.2 and the CGI flaw (CVE-2012-1823)]]></title>
      <guid>http://www.phpdeveloper.org/news/17915</guid>
      <link>http://www.phpdeveloper.org/news/17915</link>
      <description><![CDATA[The PHP.net site as new post with some supplemental information for those users of the PHP CGI that might be effected by the recently announced bug, the reason for the  <a href="http://phpdeveloper.org/news/17907">most recent release</a>. Unfortunately, this patch only fixes some of the cases of the problem, so they've <a href="http://www.php.net/index.php#id2012-05-06-1">amended their instructions</a> to included a more effective mod_rewrite rule to help protect your applications.
</p>
<blockquote>
PHP 5.3.12/5.4.2 do not fix all variations of the CGI issues described in CVE-2012-1823. It has also come to our attention that some sites use an insecure cgiwrapper script to run PHP. These scripts will use $* instead of "$@" to pass parameters to php-cgi which causes a number of issues. Again, people using mod_php or php-fpm are not affected.
</blockquote>
<p>
The rewrite rule is there in the post, ready for copy and pasting into your config. Even if you're running the latest PHP 5.3.12 and 5.4.2., be sure to use this rule as a stop-gap measure for now. Another release is planned for tomorrow to fully correct the CGI flaw.
</p>]]></description>
      <pubDate>Mon, 07 May 2012 09:03:59 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPClasses.org: Lately in PHP Podcast Episode 21 - Is PHP Source Quality Really Good?]]></title>
      <guid>http://www.phpdeveloper.org/news/17610</guid>
      <link>http://www.phpdeveloper.org/news/17610</link>
      <description><![CDATA[<p>
On PHPClasses.org today they've posted their latest "Lately in PHP" podcast - episode 21, "<a href="http://www.phpclasses.org/blog/post/177-Is-PHP-Source-Quality-really-Good-or-is-it-still-Insecure--Lately-in-PHP-podcast-episode-21.html">Is PHP Source Quality really Good or is it still Insecure?</a>".
</p>
<blockquote>
A study from Coverity claims that the source code of Open Source projects such as PHP has a low defect rate. Meanwhile, a few weeks ago, the security expert Stefan Esser claims that PHP source security bug prevention has a lot to be desired because PHP core developers do not have the habit of using source code auditing tools to prevent security bugs. The matter of the PHP source code quality and security bug prevention was one of the main topics discussed by Manuel Lemos and Ernani Joppert in episode 21 of the Lately in PHP podcast.
</blockquote>
<p>
You can listen to this latest episode either via <a href="http://www.phpclasses.org/blog/post/177-Is-PHP-Source-Quality-really-Good-or-is-it-still-Insecure--Lately-in-PHP-podcast-episode-21.html">the in-page player</a> or by <a href="http://www.phpclasses.org/blog/post/177/file/109/name/Lately-In-PHP-21.mp3">downloading the mp3</a> directly. You can also <a href="http://www.phpclasses.org/blog/category/podcast/post/latest.rss">subscribe to their feed</a> to get this episode automatically (and past/future ones too).
</p>]]></description>
      <pubDate>Thu, 01 Mar 2012 10:17:08 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPClasses.org: Another Serious Security Bug on PHP 5.3.9]]></title>
      <guid>http://www.phpdeveloper.org/news/17504</guid>
      <link>http://www.phpdeveloper.org/news/17504</link>
      <description><![CDATA[On the PHPClasses.org blog there's <a href="http://www.phpclasses.org/blog/post/175-Another-Serious-Security-Bug-on-PHP-539.html">a new post</a> detailing an issue that came up in the PHP 5.3.9 release that caused a large security issue (PHP 5.3.10 has, however, <a href="http://php.net/downloads">already been released</a> to correct the issue).
</p>
<blockquote>
PHP 5.3.9 release was mostly meant to fix a security bug, but it introduced a new more serious bug. PHP 5.3.10 was just released to fix this issue. [...] This time it is a bug that allows arbitrary remote code execution. This means that it allows to run arbitrary code on the server, injected by an eventual attacker, so it can be used to cause many types of damage inside a server.
</blockquote>
<p>
The upgrade to <a href="http://php.net/downloads">PHP 5.3.10</a> is highly recommended to prevent this issue from effecting your applications. The <a href="http://www.phpclasses.org/blog/post/175-Another-Serious-Security-Bug-on-PHP-539.html">post</a> also mentions the dropping of Suhosin support (a security plugin for PHP) on the Debian linux distribution's default installation and how the PHP community has reacted to the decision.
</p>]]></description>
      <pubDate>Mon, 06 Feb 2012 14:16:22 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Chris Hartjes' Blog: PHPUnit Aborted Fix]]></title>
      <guid>http://www.phpdeveloper.org/news/17419</guid>
      <link>http://www.phpdeveloper.org/news/17419</link>
      <description><![CDATA[<p>
<i>Chris Hartjes</i> ran into an issue with hit unit tests where <a href="http://phpunit.de">PHPUnit</a> was throwing an "aborted" error no matter what tests were run. Thankfully, in <a href="http://www.littlehart.net/atthekeyboard/2012/01/17/phpunit-aborted-fix/">this new post</a>, he shares a solution.
</p>
<blockquote>
That was a pretty annoying bug. I never did find out what the problem was as I moved onto other problems and chalked that error up to some undiagnosed weirdness on that particular server. From time to time I would get asked on Twitter if I had ever solved the problem. My answer was always "no, and if you do solve it please let met know how you fixed it." Today, my friends, was the day.
</blockquote>
<p>
Based on a response from <a href="https://twitter.com/demiankatz">Demian Katz</a>, he was able to get around the issue with flag set on the PHPUnit command line - "-dzend.enable_gc=0". Apparently the issue has to do with <a href="https://bugs.php.net/bug.php?id=53976">garbage collection</a> and has been a known issue since the beginning of 2011.
</p>]]></description>
      <pubDate>Thu, 19 Jan 2012 11:16:53 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Liip Blog: Easily Test PHP 5.4 Beta on OS X with PHP-OSX]]></title>
      <guid>http://www.phpdeveloper.org/news/16881</guid>
      <link>http://www.phpdeveloper.org/news/16881</link>
      <description><![CDATA[<p>
<i>Christian Stocker</i> has a quick new post on the Liip blog today about an <a href="http://blog.liip.ch/archive/2011/09/19/easily-test-php-5-4-beta-on-os-x-with-php-osx.html">easy way to test the PHP 5.4 beta</a> on your OS X-based platform with a simple package install and symlink.
</p>
<blockquote>
Since the first beta of the next major release of PHP was released a few days ago, I thought we could provide packages for people who'd like to test it and see if there software is still running. And make adjustments or report bugs, if it doesn't. Complaining after the official stable release was made is usually too late, so testing your software against beta releases is very important. For your project and for PHP.
</blockquote>
<p>
The install involves grabbing their package from the Liip server and calling the "packager.py" executable to make the version swap. You can go back to the pre-installed PHP5 version anytime by updating the symlink back. If you want more information on the package (or to report bugs) you can find the project <a href="https://github.com/liip/php-osx/issue">over in github</a>.
</p>]]></description>
      <pubDate>Tue, 20 Sep 2011 10:43:30 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[rooJSolutions Blog: Watch-out PHP 5.3.7+ is about.. and the is_a() / __autoload() mess.]]></title>
      <guid>http://www.phpdeveloper.org/news/16810</guid>
      <link>http://www.phpdeveloper.org/news/16810</link>
      <description><![CDATA[<p>
New from the rooJSolutions blog there's a post pointing out an issue that PHP 5.3.7 has broken the <a href="http://php.net/is_a">is_a</a> functionality in a lot of cases. <a href="http://roojs.com/index.php/View/242/.html">The post</a> talks some about what's broken and how you can work around it if you're effected.
</p>
<blockquote>
The key issue was that 5.3.7 accidentally broke is_a() for a reasonably large number of users. Unfortunately the fixup release 5.3.8 did not address this 'mistake', and after a rather fruitless exchange I gave up trying to persuade the group (most people on mailing list), that reverting the change was rather critical (at least pierre supported reverting it in the 5.3.* series).
</blockquote>
<p>
This new issue was causing some strange errors to pop up in his code because of a parameter type change in the <a href="http://php.net/is_a">is_a</a> call, updating the first parameter to be an object instead of a class name. The is_a() call sends its requests to __autoload in some cases and the string->object mismatch of those parameters causes errors to be thrown. His workaround is, in your checking, just be sure to call an <a href="http://php.net/is_object">is_object</a> first before passing things off to be is_a() checked and autoloaded.
</p>]]></description>
      <pubDate>Fri, 02 Sep 2011 10:43:24 -0500</pubDate>
    </item>
  </channel>
</rss>
