<?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>Fri, 24 May 2013 21:53:36 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Maarten Balliauw: Running unit tests when deploying to Windows Azure Web Sites]]></title>
      <guid>http://www.phpdeveloper.org/news/19110</guid>
      <link>http://www.phpdeveloper.org/news/19110</link>
      <description><![CDATA[<p>
<i>Maarten Balliauw</i> has a new post to his site showing you how to <a href="http://blog.maartenballiauw.be/post/2013/01/30/Running-unit-tests-when-deploying-to-Windows-Azure-Web-Sites.aspx">execute your unit tests</a> (in this case PHPUnit) when you deploy your instance out to the Windows Azure platform.
</p>
<blockquote>
When deploying an application to Windows Azure Web Sites, a number of deployment steps are executed. For .NET projects, msbuild is triggered. For node.js applications, a list of dependencies is restored. For PHP applications, files are copied from source control to the actual web root which is served publicly. Wouldn't it be cool if Windows Azure Web Sites refused to deploy fresh source code whenever unit tests fail? In this post, I'll show you how.
</blockquote>
<p>
He creates a super basic script using <a href="http://silex.sensiolabs.org/">Silex</a> and writes up a test with some dummy assertions, checking if true equals true. He then steps you through updating the current "deploy.sh" script to add in a call to execute PHPUnit and an "exitWithMessageOnError" statement. This statement kicks it back and causes the deployment to fail when tests don't pass (as seen <a href="http://blog.maartenballiauw.be/image.axd?picture=image_257.png">here</a>).
</p>]]></description>
      <pubDate>Wed, 30 Jan 2013 10:25:20 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Court Ewing's Blog: Follow-up: How PHP is Broken and How It Can Be Fixed]]></title>
      <guid>http://www.phpdeveloper.org/news/17129</guid>
      <link>http://www.phpdeveloper.org/news/17129</link>
      <description><![CDATA[<p>
In a follow up to his <a href="http://phpdeveloper.org/news/16801">previous post</a> about how PHP is broken (and what can be done to fix it), <i>Court Ewing</i> has <a href="http://epixa.com/2011/11/follow-up-how-php-is-broken-and-how-it-can-be-fixed">this new post</a> with a few suggestions on how PHP development could be better, but admits that PHP itself is not broken.
</p>
<blockquote>
It is no secret that the PHP development process has never been a shining example of project organization or quality assurance. Until recently, some of the most important aspects of any project's development cycle were either entirely lacking or were ill-defined. Worse, there was little in the form of systemic quality assurance. Fortunately, the core devs did not ignore these issues, and they've been pushing really hard to improve on these areas over the past few years.
</blockquote>
<p>
He points out two things that he sees as things that could be improved in the overall process of developing the language - noting that failing automated tests are ineffective and that communication is a key factor in the trust developers have in PHP.
</p>
<blockquote>
The core PHP developers have long been a key component of [the amazing things the language can do], and none of progress that modern PHP applications have made would be possible without their ongoing efforts. As a result of those efforts, PHP is a stable, secure, and beautifully-practical language that is both easy for novices to wrap their heads around and experts to build the most-used web applications the world has ever seen.
</blockquote>]]></description>
      <pubDate>Tue, 15 Nov 2011 10:18:45 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Keith Casey's Blog: Where Open Source Fails]]></title>
      <guid>http://www.phpdeveloper.org/news/15212</guid>
      <link>http://www.phpdeveloper.org/news/15212</link>
      <description><![CDATA[<p>
In a new post to his blog today <i>Keith Casey</i> has <a href="http://caseysoftware.com/blog/where-open-source-can-fail">voiced some of his opinions</a> on where he thinks most Open Source software efforts fail in their goals of making good, quality software that's well-developed and useful.
</p>
<blockquote>
Earlier this week, I unsubscribed from the mailing lists of a pair of Open Source projects. About two years ago when I found the projects, they involved fascinating topics in under served niches. One of those niches - the one customer/user-facing - is still there and under served, but that's not relevant in the current discussion. In reviewing the activity on the mailing list, I noticed some interesting things: activity was very high, there were some smart people involved in the discussions and there was a lot of discussion on what should be done but nothing actually getting done. 
</blockquote>
<p>
He notes that without a codebase to work from, there can't be any direction because no one knows where things are headed or what can be done to improve it. Writing up a spec to guide the development can help, but then you still have the pitfall of who should write that spec.
</p>]]></description>
      <pubDate>Thu, 30 Sep 2010 12:12:01 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Paul Jones' Blog: How Complex Systems Fail]]></title>
      <guid>http://www.phpdeveloper.org/news/14508</guid>
      <link>http://www.phpdeveloper.org/news/14508</link>
      <description><![CDATA[<p>
<i>Paul Jones</i> <a href="http://paul-m-jones.com/archives/1404">points out</a> a paper from <i>Richard Cook</i>, <a href="http://www.ctlab.org/documents/How%20Complex%20Systems%20Fail.pdf">How Complex Systems Fail</a> [pdf], and mentions how a lot of the points can directly correlate with programming in general.
</p>
<blockquote>
The paper <a href="http://www.ctlab.org/documents/How%20Complex%20Systems%20Fail.pdf">How Complex Systems Fail</a> by Richard Cook should be required reading for anyone in programming or operations. Hell, it should be required reading for most everyone. You should read the whole paper (it's very short at under five pages).
</blockquote>
<p>
He lists out some of the key points made in the paper including that complex systems can both be helped and harmed by the inclusion of humans in the mix and that, when things change, it opens the door for a whole new kind of failure.
</p>]]></description>
      <pubDate>Thu, 13 May 2010 14:27:53 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Developr.com: Do Frameworks Fail? When?]]></title>
      <guid>http://www.phpdeveloper.org/news/13739</guid>
      <link>http://www.phpdeveloper.org/news/13739</link>
      <description><![CDATA[<p>
With all of the good things that frameworks can provide, there's still some bad that can come with them. In <a href="http://www.devlopr.com/do-frameworks-fail-when/">this recent post</a> from Developr.com <i>Jayesh Kitukale</i> mentions a few of these downfalls.
</p>
<blockquote>
Before reading this post, please note that the author of this blog is an entrepreneur who has turned to business from the technical background. The views and opinions have strong relevance to this fact. Anyone who is purely technical or managerial may not agree with some or all points noted in the article.
</blockquote>
<p>
He touches on three problem areas - the learning curve, how efficient the code can be and the total cost of ownership that can come with it. He also points out some of the things that a good framework should strive for including that it be cost effective and make is faster for you to deliver your product to market.
</p>]]></description>
      <pubDate>Tue, 29 Dec 2009 11:27:35 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Jordi Boggiano's Blog: Major glob() fail]]></title>
      <guid>http://www.phpdeveloper.org/news/13633</guid>
      <link>http://www.phpdeveloper.org/news/13633</link>
      <description><![CDATA[<p>
<i>Jordi Boggiano</i> <a href="http://seld.be/notes/major-glob-fail">had the "pleasure"</a> of discovering a small quirk with PHP's <a href="http://php.net/glob">glob</a> function in an application he was working on - watch out for directories that contain square braces, they won't return in the results!
</p>
<blockquote>
Working on some personal project that lists a bunch of stuff on my hard drive, I found out that directories that contain square brackets (those []) don't return any results for the simple reason that glob reads [stuff] as a character class, just like in regular expressions. When you know it it makes perfect sense, but when you don't, the documentation is really not so helpful. Of course it mentions libc's glob() and unix shells, but not everyone knows what that implies at first glance.
</blockquote>
<p>
He tried a few things to get around the bug (including escaping the brackets in the directories) but ended up writing a function (glob_quote) to handle the escaping of all of the meta-characters glob might need to escape to return all of the files and folders correctly.
</p>]]></description>
      <pubDate>Mon, 07 Dec 2009 13:50:54 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Christian Stocker's Blog: Upload Progress Meter for Windows - The next take]]></title>
      <guid>http://www.phpdeveloper.org/news/12130</guid>
      <link>http://www.phpdeveloper.org/news/12130</link>
      <description><![CDATA[<p>
<i>Christian Stocker</i> has <A href="http://blog.liip.ch/archive/2009/03/13/upload-progress-meter-for-windows-the-next-take.html">posted about</a> "the next take" on the PHP upload progress meter extension - a new version that plays a bit nicer on Windows than before.
</p>
<blockquote>
The <a href="http://pecl.php.net/package/uploadprogress">uploadprogress</a> extension for PHP <a href="http://pecl.php.net/bugs/bug.php?id=9584">never really worked on Windows</a> and since I don't have a Windows development environment I could never do a proper analysis of the problem. Until this week, when Tomas Holusa sent me an email telling me about some VCWD_RENAME problems on Windows.
</blockquote>
<p>
<a href="http://cvs.php.net/viewvc.cgi/TSRM/tsrm_virtual_cwd.c?r1=1.74.2.9.2.35.2.4&r2=1.74.2.9.2.35.2.5&pathrev=PHP_5_3">A patch</a> that was submitted a while back confirmed the issue and <a href="http://cvs.php.net/viewvc.cgi/pecl/uploadprogress/uploadprogress.c?r1=1.19&r2=1.20">a new patch</a> was written and submitted to take care of the problem. You can try out the new extension on Windows with either the <a href="http://downloads.php.net/pierre/php_uploadprogress-cvs-200903012-5.2-Win32.zip">normal Wind32 build</a> or <a href="http://downloads.php.net/pierre/php_uploadprogress-cvs-200903012-5.2-nts-Win32.zip">Win32 nts build</a>.
</p>]]></description>
      <pubDate>Fri, 13 Mar 2009 09:38:35 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Sebastian Bergmann's Blog: Test Dependencies in PHPUnit 3.4]]></title>
      <guid>http://www.phpdeveloper.org/news/11409</guid>
      <link>http://www.phpdeveloper.org/news/11409</link>
      <description><![CDATA[<p>
<i>Sebastian Bergmann</i> talks about a new bit of functionality he's put into the 3.4 release of <a href="http://www.phpunit.de">PHPUnit</a> (the popular unit testing tool for PHP) based on a suggestion from a paper he'd read:
</p>
<blockquote>
Back in July, I came across an academic paper (more <a href="http://delicious.com/sebastian_bergmann/academic_paper+testing">academic papers on testing</a> that I read recently) titled "<a href="http://www.iam.unibe.ch/~scg/Archive/Papers/Kuhn08aJExample.pdf">JExample: Exploiting Dependencies Between Tests to Improve Defect Localization</a>". [...] For the upcoming <a href="http://www.phpunit.de/">PHPUnit 3.4</a> I have implemented support for the idea expressed in the paper mentioned above.
</blockquote>
<p>
The feature is a system that helps localize problems at the source, stripping away all of the cascading issues it might have tripped off, causing other tests to fail. This new feature (as illustrated by his code example using a DependencyFailureTest class) makes it simple to fail a test immediately whenever the scripts needs to via a fail() method. Check out <A href="http://sebastian-bergmann.de/archives/826-Test-Dependencies-in-PHPUnit-3.4.html">the full post</a> for the rest of the code and some further explanation on how it works.
</p>]]></description>
      <pubDate>Fri, 14 Nov 2008 10:25:20 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Eli White's Blog: Programming Certifications]]></title>
      <guid>http://www.phpdeveloper.org/news/11175</guid>
      <link>http://www.phpdeveloper.org/news/11175</link>
      <description><![CDATA[<p>
<i>Eli White</i> has written up <a href="http://eliw.wordpress.com/2008/10/08/programming_certifications/">a new post</a> about his opinions on certifications (and his habits relating them when it comes to resume reviews).
</p>
<blockquote>
As it stands, I've shocked more than my share of people in the past when I've mentioned my stance on certifications for programmers. Specifically, when I have a pile of resumes in front of me, and I'm giving them an initial pass to sort them apart, I take any that mention their programming certifications, and sort them to the bottom.
</blockquote>
<p>
He justification is that most of the certifications out there are pretty much useless and that, from his experience, those that list them on their resume are using it to appear more qualified. 
</p>
<blockquote>
So what is it that's so wrong with the certifications in the first place?   Simply put, they prove nothing to me.  They only prove that you could cram and pass a multiple choice test.
</blockquote>
<p>
But, as he notes, programming is more about art than knowing the order of the arguments in <a href="http://www.php.net/str_replace">str_replace</a>. He illustrates his other point, "passing - yes but by how much?" with how the <a href="http://www.zend.com/en/services/certification/">Zend Certified Engineer</a> exam is handled. You get a pass or fail and you only know what you didn't do so well on if you fail.
</p>

]]></description>
      <pubDate>Thu, 09 Oct 2008 08:43:30 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Cal Evans' Blog: set_include_path() failing]]></title>
      <guid>http://www.phpdeveloper.org/news/9636</guid>
      <link>http://www.phpdeveloper.org/news/9636</link>
      <description><![CDATA[<p>
<i>Cal Evans</i> came up against <a href="http://blog.calevans.com/2008/02/14/set_include_path-failing/">a problem</a> earlier in his development work - issues when he was trying to get his old include path.
</p>
<blockquote>
What you SHOULD get back is a string describing your old include path. If you get false, you have hit the problem I hit last night. I went so far as to recompile 2 difference versions of Apache thinking (almost correctly) that it was something that had changed in my Apache config files.
</blockquote>
<p>
If you're one of the "falsers" out there, check out <a href="http://blog.calevans.com/2008/02/14/set_include_path-failing/">the rest of his post</a> of his solution around the problem. His problem stemmed from his trying to reassign a php_admin_value (instead of php_value where the script could override it) setting, specifically the one for the include_path. 
</p>
<p>
He also points out that Zend Framework users might keep an eye out for this problem too as the Zend_Loader package changes the include path at times.
</p>]]></description>
      <pubDate>Thu, 14 Feb 2008 15:09:38 -0600</pubDate>
    </item>
  </channel>
</rss>
