<?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, 19 Jun 2013 06:15:44 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Robert Basic's Blog: A real gem - PHP_CompatInfo]]></title>
      <guid>http://www.phpdeveloper.org/news/15644</guid>
      <link>http://www.phpdeveloper.org/news/15644</link>
      <description><![CDATA[<p>
In <a href="http://robertbasic.com/blog/a-real-gem-php_compatinfo/">this new post</a> to his blog <i>Robert Basic</i> takes a look at what he calls a "real gem" in defining the requirements of his application - <a href="http://pear.php.net/package/PHP_CompatInfo">PHP_CompatInfo</a>.
</p>
<blockquote>
Last night I was pondering how nice would it be to have a tool of some sort, that would simply spit out what version of PHP does my app require. Something like: here are my .php files, what PHP version and/or extensions do I need for it? First I thought about jumping right in and writing it myself, but hey, this kind of a tool sounds way to useful not to be written already! After a bit of a googling there it was: <a href="http://pear.php.net/package/PHP_CompatInfo">PHP_CompatInfo</a>. A nice PEAR package that can tell me everything I want about my code and even a bit more.
</blockquote>
<p>
He includes a code snippet showing it in action. It's a basic example that defines the driver type to use, options and the directory to parse through (using parseDir() naturally). Other output formats are available too like CSV and HTML.
</p>]]></description>
      <pubDate>Tue, 28 Dec 2010 09:34:40 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Cal Evans' Blog: Ecommerce in WordPress]]></title>
      <guid>http://www.phpdeveloper.org/news/15609</guid>
      <link>http://www.phpdeveloper.org/news/15609</link>
      <description><![CDATA[<p>
Following his <a href="http://daycamp4developers.com/">Day Camp 4 Developers</a> event, <i>Cal Evans</i> needed a way to release the videos and materials from the day long even to those that paid to attend. Obviously, a download link just wouldn't do, so he went looking for something <a href="http://blog.calevans.com/2010/12/20/ecommerce-in-wordpress/">a bit more powerful and WordPress-y</a>.
</p>
<blockquote>
It sounds like such a simple thing; just put them up for download, right? Not really. Let's look at the actual requirements: Shopping cart to allow me to eventually sell the videos, a way to let my existing ticket holders "buy" them for free. (Coupon codes), a way to keep the real location of the files hidden so people don't just go download them. Those were the biggest items. Beyond that I was willing to either sacrifice or code it myself. 
</blockquote>
<p>
After searching around and trying out a few solutions, he decided on <a href="http://wordpress.org/extend/plugins/eshop/">eShop</a> ("it's good, not great) a WordPress plugin that lets you set up a quite configurable ecommerce website. It also includes some basic statistics features, uses the custom post types to configure products and lets customers sign into the site to handle their own options.
</p>]]></description>
      <pubDate>Tue, 21 Dec 2010 10:02:25 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Kevin Schroeder' Blog: Getting good PHP programmers]]></title>
      <guid>http://www.phpdeveloper.org/news/15437</guid>
      <link>http://www.phpdeveloper.org/news/15437</link>
      <description><![CDATA[<p>
<i>Kevin Schroeder</i> has <a href="http://www.eschrade.com/page/getting-good-programmers-4ce1bb94">posted some of his thoughts</a> how how you, the one looking for good PHP developers, can really get the best talent out there you can find based on his experiences in interviewing other developers.
</p>
<blockquote>
I can interview for certain (but by no means all) PHP positions because I know a fair about PHP and I believe that being smart but being an asshole does not make you a good PHPer.  But not everyone who interviews knows that.  And not only that, it is getting difficult to find good PHP developers.  A lot of the good ones are being taken up by top companies, but even they are having trouble finding all the good developers they need.
</blockquote>
<p>
He suggests coming up with something a bit more concrete than just this vague picture of what a "good PHP developer" is and how, even once that's defined, the quality of all developers should be raised to that level. He asks for some feedback on a few related questions like: is there really a shortage of good PHP developers or what are the significant topic areas that PHP developers should know well? Lease him some feedback <a href="http://www.eschrade.com/page/getting-good-programmers-4ce1bb94#comments">on the post</a>.
</p>]]></description>
      <pubDate>Tue, 16 Nov 2010 10:15:40 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Jani Hartikainen's Blog: Using unit tests as requirements when refactoring]]></title>
      <guid>http://www.phpdeveloper.org/news/15146</guid>
      <link>http://www.phpdeveloper.org/news/15146</link>
      <description><![CDATA[<p>
<i>Jani Hartikainen</i> has a suggestion for all developers out there who are working through their code and refactoring as they go - make <a href="http://codeutopia.net/blog/2010/09/16/using-unit-tests-as-requirements-when-refactoring/">unit tests a requirement</a> during the process.
</p>
<blockquote>
What should you do to make sure new code works properly when you're refactoring old code? I asked myself this question recently, when I needed to refactor a big bunch of procedural PHP code into a neat, testable, OOP-style interface. The conclusion I came into is that you should write unit tests - not to test the old code, but as requirements for the new code.
</blockquote>
<p>
He suggests setting up a system where unit tests are set up to be where the requests are recorded - a sort of reverse <a href="http://en.wikipedia.org/wiki/Test-driven_development">TDD</a> since you already have code to work with. Even if all of the tests aren't 100% implemented, at least you can run them and see what features you have left to do.
</p>]]></description>
      <pubDate>Fri, 17 Sep 2010 09:33:51 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[php|architect: Zend Db 2.0 Kicks Off ]]></title>
      <guid>http://www.phpdeveloper.org/news/14713</guid>
      <link>http://www.phpdeveloper.org/news/14713</link>
      <description><![CDATA[<p>
As is mentioned on the php|architect blog today (from <i>Bill Karwin</i>) the requirements gathering stage for the Zend_Db 2.0 version of the database component for the Zend Framework has started. <i>Ralph Schindler</i> has <a href="http://www.phparch.com/2010/06/25/zend-db-2-0-kicks-off">issued a document</a> talking about some of the issues that have come up in the component's past.
</p>
<blockquote>
Requirements have been solicited from both community members in various conversations, as well as looking through the issue tracker for feature requests that have been on the backlog due to potential BC breakage. This document reflects those ideas, and it's now in a position where we'd like to start a discussion on the direction outlined inside it.
</blockquote>
<p>Suggested features include things like:</p>
<ul>
<li>Pluggable architecture
<li>Distinct abstractions
<li>Addition of a Metadata sub-component
<li>Better testability in the Unit Tests
<li>Base Plugins / Type Converter
</ul>]]></description>
      <pubDate>Mon, 28 Jun 2010 12:09:38 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Ibuildings Blog: Creating Content Site Requirements]]></title>
      <guid>http://www.phpdeveloper.org/news/14536</guid>
      <link>http://www.phpdeveloper.org/news/14536</link>
      <description><![CDATA[<p>
On the Ibuildings blog there's a <a href="http://www.ibuildings.co.uk/blog/archives/1592-Creating-Content-Site-Requirements.html">recent post</a> from <i>Ian Barber</i> about setting out guidelines and standards for the content that lives in your dynamic site.
</p>
<blockquote>
Core site content management system projects are incredibly common, but they are also often drawn out and painful. They're complicated projects because they often have a large number of stakeholders across different parts of the company. They can be a key part of digital or broader strategies, but also used for the most minor parts of day-to-day business. This mix makes it very difficult to tease out the essential aspects of the site, leading to a series of disappointing upgrades and replacements.
</blockquote>
<p>
A project like this will only turn out well if there's a good roadmap for where it needs to end up. He gives a few things to consider like what your current system does and what old & new technologies will be involved. He includes some tips on things to ignore, to consider and ways to keep the process on track.
</p>
<p>
The difference between a good content-driven site and a bad one lies in following tips like these.
</p>]]></description>
      <pubDate>Wed, 19 May 2010 11:30:23 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Ibuildings Blog: My framework is better than all other frameworks]]></title>
      <guid>http://www.phpdeveloper.org/news/11829</guid>
      <link>http://www.phpdeveloper.org/news/11829</link>
      <description><![CDATA[<p>
Why is <i>Harrie Verveer</i> <a href="http://www.ibuildings.com/blog/archives/1543-My-framework-is-better-than-all-other-frameworks.html">claiming that his framework is the best</a>? Well, really he's not - its just to make a point: there's no such thing as one "best" framework.
</p>
<blockquote>
The framework that has the best solution for every thinkable problem will simply never exist. Such a framework can't be build for several reasons. 
</blockquote>
<p>He names two reasons why you should get more specialized in picking which framework you go with on a project:</p>
<ul>
<li>First, if a framework wants to provide solutions for as many situations as possible there is less time to focus on the individual solutions.
<li>Second, it would need to be big and small at the same time.
</ul>
<p>
He notes that, while specializing in one framework can make you more efficient for that task, finding the right framework fit for the project will make you (and whatever team you might be working with) more productive overall.
</p>]]></description>
      <pubDate>Wed, 28 Jan 2009 08:46:14 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Total PHP: Choosing a PHP Web Host]]></title>
      <guid>http://www.phpdeveloper.org/news/11056</guid>
      <link>http://www.phpdeveloper.org/news/11056</link>
      <description><![CDATA[<p>
The Total PHP site has <a href="http://www.total-php.com/article/13/choosing-a-php-web-host/">a few suggestions</a> for you to look at before choosing your next web host - five of them:
</p>
<ul>
<li>PHP 4 or 5? - if you haven't made the switch to PHP5, there's no better time
<li>Linux/Apache - Windows is largely an ASP.NET platform
<li>Access to outside the document root - it can be very useful for templates, config files and the like
<li>Scripting requirements - be sure anything you might need for an outside application (like WordPress) is there
<li>General advice
</ul>
<p>
There's a bit more detail on each of <a href="http://www.total-php.com/article/13/choosing-a-php-web-host/">the points</a> to round out the advice.
</p>]]></description>
      <pubDate>Mon, 22 Sep 2008 11:19:54 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Evert Pot's Blog: Integrating with Zend's OpenID]]></title>
      <guid>http://www.phpdeveloper.org/news/10855</guid>
      <link>http://www.phpdeveloper.org/news/10855</link>
      <description><![CDATA[<p>
In a <a href="http://www.rooftopsolutions.nl/article/200">new blog post</a> today <i>Evert Pot</i> shares some of his thoughts on integrating the Zend implementation of the OpenID protocol, <a href="http://framework.zend.com/manual/en/zend.openid.html">Zend_OpenId</a>, into his application.
</p>
<blockquote>
The <a href="http://framework.zend.com/">Zend Framework</a> has a pretty good <a href="http://framework.zend.com/manual/en/zend.openid.html">OpenID</a> library. I was looking for a library written for PHP5 (strict), and this seemed like a good choice...
</blockquote>
<p>
He mentions some of both sides of the argument - (the good) the flexibility of the library to work with different backend storage methods and (the bad) the requirements it has for the Zend Framework sessions system for authentication.
</p>]]></description>
      <pubDate>Tue, 19 Aug 2008 10:28:52 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Till's Blog: phpChecklist]]></title>
      <guid>http://www.phpdeveloper.org/news/9220</guid>
      <link>http://www.phpdeveloper.org/news/9220</link>
      <description><![CDATA[<p>
<i>Till</i> has <a href="http://till.vox.com/library/post/phpchecklist.html">come up with</a> a method for keeping track of the things needed to correctly build out a server, a checklist package written in PHP.
</p>
<blockquote>
For a couple weeks now we kept on saying that we need a checklist of what we need on a server in order to make the site run - now since we setup the neato bonito cluster last week the checklist all of the sudden had a higher priority and I took an hour or so to create that last night.
</blockquote>
<p>
The code <a href="http://till.vox.com/library/post/phpchecklist.html">loops through</a> the loaded extensions (<a href="http://docs.php.net/manual/en/function.get-loaded-extensions.php">get_loaded_extensions</a>) and runs a shell_exec on a directory to see if the requirements are met.
</p>]]></description>
      <pubDate>Tue, 11 Dec 2007 12:56:00 -0600</pubDate>
    </item>
  </channel>
</rss>
