<?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, 04 Dec 2008 13:43:46 -0600</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Developer Tutorials Blog: Running background processes in PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/10636</guid>
      <link>http://www.phpdeveloper.org/news/10636</link>
      <description><![CDATA[<p>
New on the Developer Tutorials blog today is <a href="http://www.developertutorials.com/blog/php/running-background-processes-in-php-349/">this look</a> at handling background processes from your PHP script:
</p>
<blockquote>
You've checked and double checked the integrity of user input, and you're doing some serious processing. There's only one problem: it's too slow. There's a simple solution: forking your processing script, and running the code as a background process asynchronously. It can email your user when it's done: they'll wait. In this tutorial, I'll show you how to get started with background processes in PHP.
</blockquote>
<p>
<i>Akash</i> gives examples of the three keys to background processes - starting the script via an exec, talking to the process by passing additional parameters and including code to monitor the state of the background process via something like a MySQL "sessions" table that the script writes to.
</p>]]></description>
      <pubDate>Fri, 18 Jul 2008 11:18:21 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Leonid Mamchenkov's Blog: Where did all the PHP programmers go?]]></title>
      <guid>http://www.phpdeveloper.org/news/10362</guid>
      <link>http://www.phpdeveloper.org/news/10362</link>
      <description><![CDATA[<p>
Frustrated by the trouble he's having finding a really good PHP developer to fill a few positions, has <a href="http://mamchenkov.net/wordpress/2008/06/04/where-did-all-the-php-programmers-go/">posted about this process</a> he's been going through - the good, the bad and the downright ugly - of trying to find those right, qualified folks.
</p>
<blockquote>
During the last six month or so, I've been looking to hire a PHP programmer for at least three companies.  I have spoken to quite a few people on the phone, reviewed a bunch of resumes, and even interviewed a few.  Out of all those candidates I recommended to hire exactly zero.
</blockquote>
<p>
Some of the "roadbumps" he experienced along the way include the interviewees inability to write down code without a computer and them giving either the wrong or no answers to simple, common knowledge computing questions. So, he came up with a list of what he calls the "roots of the problem". Included in the list are things like:
</p>
<ul>
<li>PHP is an ugly language
<li>PHP is rich with secondary reasons
<li>PHP is getting mature
<li>PHP avoidance
</ul>
<p>
Also be sure to check out <a href="http://blog.nickj.org/2008/06/05/response-to-where-did-all-the-php-programmers-go/">this response</a> from <i>Nick Jenkins</i> to <i>Leonid</i>'s post.
</p>
<p>
<b>UPDATE:</b> <i>Leonid</i> has also <a href="http://mamchenkov.net/wordpress/2008/06/05/follow-up-to-where-did-all-the-php-programmers-go/">posted a follow-up post</a> with a few corrections and clarifications of the original post.
</p>]]></description>
      <pubDate>Fri, 06 Jun 2008 13:43:20 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Brian Moon's Blog: Apache Worker and PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/9641</guid>
      <link>http://www.phpdeveloper.org/news/9641</link>
      <description><![CDATA[<p>
In a <a href="http://doughboy.wordpress.com/2008/02/13/apache-worker-and-php/">recent post</a> to his blog, <i>Brian Moon</i> talks about the experience he's had with using PHP on Apache 2 with a <a href="http://www.php.net/manual/en/faq.installation.php#faq.installation.apache2">threaded MPM</a> at Dealnews.com.
</p>
<blockquote>
Well, first, what is an MPM? It stands for Multi-Processing Module. [...] The most commonly used threaded MPM is the Worker MPM. In this MPM, you have several processes that run multiple threads within it. This is the one I will be talking about.
</blockquote>
<p>
He <a href="http://doughboy.wordpress.com/2008/02/13/apache-worker-and-php/">goes on</a> to describe the "huge memory savings" that using the module got them - using the worker process to increase the child capacity of the Apache instance. He recommends keeping it simple when compiling a server to work with the worker functionality and mentions  how it can also help with serving static pages right along side the dynamic ones (without a second server!).
</p>
<p>
Check out <a href="http://doughboy.wordpress.com/2008/02/13/apache-worker-and-php/">the post</a> for a few more tips.
</p>]]></description>
      <pubDate>Fri, 15 Feb 2008 08:43:00 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Sebastian Bergmann's Blog: Isolated (and Parallel) Test Execution]]></title>
      <guid>http://www.phpdeveloper.org/news/9281</guid>
      <link>http://www.phpdeveloper.org/news/9281</link>
      <description><![CDATA[<p>
<i>Sebastian Bergmann</i> <a href="http://sebastian-bergmann.de/archives/730-Isolated-and-Parallel-Test-Execution.html">points out</a> a new feature that <a href="http://www.phpunit.de/">PHPUnit</a> (the popular PHP unit testing tool) now has - <a href="http://www.phpunit.de/browser/phpunit/branches/feature/parallel_test_execution">parallel_test_execution</a> allowing for each test to execute on a separate PHP process.
</p>
<blockquote>
The advantages of this include full test isolation and the fact that a test can now cause a PHP fatal error or even a segmentation fault of the PHP interpreter without interrupting the test execution.
</blockquote>
<p>
He does mention, however, that it can cause a bit more overhead for larger testing suites since it needs to create a new process (complete with memory usage) for each running test. There are also coding issues that could be thrown off by this option (he gives an example of an inheritance issue with eZ Components).  
</p>
<p>
He also notes some of his thoughts on how to control/configure the process (like in a configuration file) and via an "@isolated" notation to make it easy to do it dynamically.
</p>]]></description>
      <pubDate>Wed, 19 Dec 2007 15:26:00 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Symfony Blog:  symfony 1.1 branch]]></title>
      <guid>http://www.phpdeveloper.org/news/9264</guid>
      <link>http://www.phpdeveloper.org/news/9264</link>
      <description><![CDATA[<p>
The Symfony project has <a href="http://www.symfony-project.org/blog/2007/12/17/symfony-1-1-branch">posted an announcement</a> about the start of the official release process for the framework's latest branch - Symfony 1.1.
</p>
<blockquote>
As the features for symfony 1.1 are quite finished now, it's time to move on and start the release process.
</blockquote>
<p>
They've made two new branches in preparation to get things ready - one for the release itself and the other for the release's documentation. Users wanting to use the latest stable, still point to /branches/1.0. Those wanting to test this upcoming release, use /branches/1.1.
</p>]]></description>
      <pubDate>Tue, 18 Dec 2007 09:31:00 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Antony Dovgal's Blog: PHP Seven Commandments]]></title>
      <guid>http://www.phpdeveloper.org/news/9044</guid>
      <link>http://www.phpdeveloper.org/news/9044</link>
      <description><![CDATA[<p>
On the lighter side of the language, <i>Antony Dovgal</i> has posted <a href="http://daylessday.org/archives/17-PHP-Seven-Commandments.html">ten commandments</a> that PHP developers should follow including:
</p>
<ul>
<li>Thou shalt obey the Release Master.
<li>Thou shalt not forget to add comments to thy code, especially if the code is tricky.
<li>Thou shalt not fix a bug only in one of the branches unless it did not exist in the others.
<li>Thou shalt discuss all new features in internals@.
</ul>
<blockquote>
IMO it's time to make the development process more organized.
This is my version of what I would like to see as an official set of rules for PHP community.
</blockquote>]]></description>
      <pubDate>Wed, 14 Nov 2007 16:08:00 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Tony Bibbs' Blog: Fed Up of Framework Hype]]></title>
      <guid>http://www.phpdeveloper.org/news/8786</guid>
      <link>http://www.phpdeveloper.org/news/8786</link>
      <description><![CDATA[<p>
<i>Tony Bibbs</i> is <a href="http://www.tonybibbs.com/article.php/PHPFrameworkHype">fed up with the framework hype</a> that's been going on in the PHP community for a while now and has posted about some of this frustration on his blog. More specifically, how there seems to be this misconception as to the point of them and their place in the web development world.
</p>
<blockquote>
What nobody seems to want to talk about is the fact that frameworks, be it in PHP, Java, .NET or even Python, have a bunch of valueless rhetoric around them. Their value is often discussed in terms of coolness and how easy it was to learn. If you are talking to a manager-type, balding, high strung, concerned about his or her budget you will quickly learn they could care less. Their focused is on the business. The bottom line. Achieving results. So let's talk in tangible terms on how a framework in any language should be evaluated and how it directly addresses the needs of the business.
</blockquote>
<p>
He <a href="http://www.tonybibbs.com/article.php/PHPFrameworkHype">goes on</a> to talk about how frameworks can't fix things like "crappy software development practices" or how they can't immediately save you time (but can in the long run). Most importantly, though, he's compiled a list of things you should keep an eye out for when starting the move towards a framework for your development. The list includes things like:
</p>
<ul>
<li>Does the framework fit well with your SDLC? Do you even have an SDLC?
<li>Does your framework allow your better developers to excel and innovate new ways to address a business problem? If the framework only handcuffs your better talent you may find keeping them around near impossible.
<li>Can you choose not to use parts of your framework to work around performance bottlnecks? As an example, some frameworks don't even give you the ability to issue raw SQL to the database? Using tools like an ORM adds a layer of abstraction that slows performance and sometimes you will need to squeeze out every bit of performance you can. Your framework should facilitate this, not hinder it.
</ul>
<p>
Check out the rest of <a href="http://www.tonybibbs.com/article.php/PHPFrameworkHype">the post</a> for the other four on the list.
</p>]]></description>
      <pubDate>Thu, 04 Oct 2007 10:25:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[WebReference.com: XML-Enabled Applications]]></title>
      <guid>http://www.phpdeveloper.org/news/8663</guid>
      <link>http://www.phpdeveloper.org/news/8663</link>
      <description><![CDATA[<p>
WebReference.com has <a href="http://www.webreference.com/programming/php/xml-enabled-applications/">an excerpt posted</a> from one of Packt Publishing's latest PHP-related offerings, "PHP Oracle Web Development: Data processing, Security, Caching, XML, Web Services, and Ajax" (by <i>Yuli Vasiliev</i>). This specific chapter talks about XML-enabled applications and how PHP fits into the mix.
</p>
<blockquote>
Both PHP and Oracle provide comprehensive support for XML and XML-related technologies. Practically, this means you can perform any XML processing either with PHP or inside an Oracle database. [...] This chapter explains how to effectively use XML techniques and technologies available in PHP and Oracle when building XML-enabled PHP/Oracle applications.
</blockquote>
<p>
They <a href="http://www.webreference.com/programming/php/xml-enabled-applications/">cover</a> the processing of XML in PHP/Oracle apps (including the SAX, DOM and SimpleXML methods), working with XPath and processing the XML in the other half of the two - Oracle's XML processing functionality.
</p>
<p>
Check out <a href="http://www.packtpub.com/PHP-Oracle-Web-Development-XML-Ajax-Open-Source/book">the Packt website</a> for more information on the book.
</p>]]></description>
      <pubDate>Mon, 17 Sep 2007 10:24:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPBuilder.com: AJAX and PHP Part 2 - XML Communication/Processing]]></title>
      <guid>http://www.phpdeveloper.org/news/8154</guid>
      <link>http://www.phpdeveloper.org/news/8154</link>
      <description><![CDATA[<p>
PHPBuilder.com has posted <a href="http://www.phpbuilder.com/columns/jon_campbell_20070627.php3">part two</a> of their look at combining Ajax and PHP. They take things a step further than <a href="http://www.phpdeveloper.org/news/7955">last time</a> and look at the actual communication between the script and the server.
</p>
<blockquote>
AJAX and PHP 5 both have powerful features for processing and using an XML document. XML is a method of formatting data often for communication purposes between different computer systems. In this article, we will show you how to access an XML document with AJAX!
</blockquote>
<p>
They <a href="http://www.phpbuilder.com/columns/jon_campbell_20070627.php3">create a script</a> that can load the XML information from a file and echo it back out to the waiting client script. They also include the other half - the client-side javascript that grabs the XML information, parses it, and pushed it into a javascript object for easy access.
</p>]]></description>
      <pubDate>Fri, 29 Jun 2007 16:22:06 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[WorkingSoftware.com.au: Something Like Threading- PHP Process Forking & Interprocess Communication]]></title>
      <guid>http://www.phpdeveloper.org/news/7999</guid>
      <link>http://www.phpdeveloper.org/news/7999</link>
      <description><![CDATA[<p>
New from <i>Iain Dooley</i> on the Working Software website today is <a href="http://www.workingsoftware.com.au/index.php?h=WebLog&author_id=1&entry_id=61">his look at</a> working with threading in PHP including forking and communication between the processes.
</p>
<blockquote>
I recently wrote a little application that dumps a file across a forwarded port. [...] So when I first wrote it, I didn't know what I was doing and had never written socket code before, so it was a big procedural mess. Naturally I was keen to separate out my socket class into it's own package but this presented a problem: the controlling process needed to check the status but how could I decouple the process that instantiated the socket class from the socket code itself
</blockquote>
<p>
So, he <a href="http://www.workingsoftware.com.au/index.php?h=WebLog&author_id=1&entry_id=61">set about</a> working up his class, hitting a few barriers along the way:
</p>
<ul>
<li>Copy On Write issues with how PHP handles the variable for the forked process
<li>Interprocess Communication using Sockets using the socket_create_pair function
<li>a "Curious Interlude" about why you can share sockets between two processes
</ul>
<p>
There's <a href="http://www.workingsoftware.com.au/index.php?h=WebLog&author_id=1&entry_id=61">a example of it in action</a> - a setup with a child process that's all set to count up and respond back with the current number to the managing script.
</p>]]></description>
      <pubDate>Thu, 07 Jun 2007 10:21:00 -0500</pubDate>
    </item>
  </channel>
</rss>
