<?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>Sat, 25 May 2013 20:34:33 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[QaFoo.com: PHP Refactoring Browser Alpha Release]]></title>
      <guid>http://www.phpdeveloper.org/news/19424</guid>
      <link>http://www.phpdeveloper.org/news/19424</link>
      <description><![CDATA[<p>
On the QaFoo blog today the company is introducing a new tool to help PHP developers write better, more optimized code - the <a href="http://qafoo.com/blog/041_refactoring_browser.html">PHP Refactoring 
Browser</a> (written in PHP too).
</p>
<blockquote>
Without continuous refactoring, code maintainability and extensibility will start to decrease fast, even if it has tests. Until now, only IDEs contained functionality to perform automated refactorings. And then even only PHPStorm contains the most important refactorings such as "extract method". Today we release the <a href="https://github.com/QafooLabs/php-refactoring-browser">PHP Refactoring Browser</a>, a refactoring tool written completely in PHP. It is based on several outstanding open-source libraries.
</blockquote>
<p>
The browser currently supports multiple refactoring methods including the extract method, renaming of local variables and converting a local variable to an instance. They include some example code and the result from the execution of the tool. The output shows where refactoring would work best with some color coding and formatting. 
</p>
<p>
You can find more about this new tool over <a href="https://github.com/QafooLabs/php-refactoring-browser">on its github repository</a>.
</p>
Link: http://qafoo.com/blog/041_refactoring_browser.html]]></description>
      <pubDate>Mon, 08 Apr 2013 09:49:33 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Symfony Blog: Symfony2 Components as standalone Packages]]></title>
      <guid>http://www.phpdeveloper.org/news/18202</guid>
      <link>http://www.phpdeveloper.org/news/18202</link>
      <description><![CDATA[<p>
On the Symfony blog there's a recent post talking about the <a href="http://symfony.com/blog/symfony2-components-as-standalone-packages">availability of the SF2 packages</a> as standalone components available for separate downloads.
</p>
<blockquote>
Each Symfony Component has been available as a standalone "package" for a very long time, but this is the first time I post something about this on this blog. That's because the way it was done was quite experimental... until recently. Why is it useful? Let's say you have a project that does not use Symfony, the full-stack framework, but you still want to rely on a few Symfony Components like YAML, Console, and Process for instance. In that case, instead of depending on the main symfony/symfony code, your project can just depend on these specific components.
</blockquote>
<p>
An example of the composer.json configuration needed to grab individual components and define a "minimum stability" for the sources. 
</p>
<blockquote>
The new version has been online for the last week and the Components are now updated 1 or 2 minutes after some changes are pushed to the Symfony component. Unfortunately, we have had one force push during that time due to a bug in the Git subtree command (I haven't found the time to submit a bug report yet).
</blockquote>]]></description>
      <pubDate>Mon, 09 Jul 2012 13:55:35 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Fabien Potencier's Blog: Create your own framework... on top of the Symfony2 Components (part 8)]]></title>
      <guid>http://www.phpdeveloper.org/news/17404</guid>
      <link>http://www.phpdeveloper.org/news/17404</link>
      <description><![CDATA[<i>Fabien Potencier</i> has posted the <a href="http://fabien.potencier.org/article/57/create-your-own-framework-on-top-of-the-symfony2-components-part-8">eighth part</a> in his "building a framework on Symfony2 components" series. So far he's created a <a href="http://fabien.potencier.org/article/50/create-your-own-framework-on-top-of-the-symfony2-components-part-1">full</a>-<a href="http://fabien.potencier.org/article/51/create-your-own-framework-on-top-of-the-symfony2-components-part-2">featured</a> <a href="http://fabien.potencier.org/article/52/create-your-own-framework-on-top-of-the-symfony2-components-part-3">microframework</a> with <a href="http://fabien.potencier.org/article/53/create-your-own-framework-on-top-of-the-symfony2-components-part-4">routing</a>, <a href="http://fabien.potencier.org/article/54/create-your-own-framework-on-top-of-the-symfony2-components-part-5">controllers</a>, <a href="http://fabien.potencier.org/article/55/create-your-own-framework-on-top-of-the-symfony2-components-part-6">HTTP handling</a> and <a href="http://fabien.potencier.org/article/56/create-your-own-framework-on-top-of-the-symfony2-components-part-7">namespaced code</a>. In this latest part he improves the sample framework by adding some unit tests.
</p>
<blockquote>
Some watchful readers pointed out some subtle but nonetheless important bugs in the framework we have built yesterday. When creating a framework, you must be sure that it behaves as advertised. If not, all the applications based on it will exhibit the same bugs. The good news is that whenever you fix a bug, you are fixing a bunch of applications too. Today's mission is to write unit tests for the framework we have created by using <a href="http://www.phpunit.de/manual/current/en/index.html">PHPUnit</a>.
</blockquote>
<p>
He includes the XML for a basic phpunit.xml configuration file and uses a UrlMatcher and ControllerResolver in a "Framework" class and makes the test check for "not found" URLs and for checking for a correct Response.
</p>]]></description>
      <pubDate>Tue, 17 Jan 2012 09:39:26 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Fabien Potencier's Blog: Create your own framework... on top of the Symfony2 Components (part 7)]]></title>
      <guid>http://www.phpdeveloper.org/news/17396</guid>
      <link>http://www.phpdeveloper.org/news/17396</link>
      <description><![CDATA[<p>
<i>Fabien Potencier</i> has posted the <a href="http://fabien.potencier.org/article/56/create-your-own-framework-on-top-of-the-symfony2-components-part-7">seventh part</a> of his series looking at how to make a custom framework on top of the components from the <a href="http://symfony.com">Symfony2</a> framework. In this part of the series he improves his basic framework by adding some namespacing to organize the application a bit more.
</p>
<blockquote>
If you have a closer look at the code, front.php has one input, the Request, and one output, the Response. Our framework class will follow this simple principle: the logic is about creating the Response associated with a Request. As the Symfony2 components requires PHP 5.3, let's create our very own namespace for our framework: Simplex.
</blockquote>
<p>
He puts the main front controller in just the "Simplex" namespace but adds in others for the controllers and models. He also updates his Composer configuration to create some PSR-0 autoloading.
</p>]]></description>
      <pubDate>Mon, 16 Jan 2012 08:46:22 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Fabien Potencier's Blog: Create your own framework...on top of the Symfony2 Components (parts 3 & 4)]]></title>
      <guid>http://www.phpdeveloper.org/news/17362</guid>
      <link>http://www.phpdeveloper.org/news/17362</link>
      <description><![CDATA[<p>
<i>Fabien Potencier</i> has posted the <a href="http://fabien.potencier.org/article/52/create-your-own-framework-on-top-of-the-symfony2-components-part-3">third</a> and <a href="http://fabien.potencier.org/article/53/create-your-own-framework-on-top-of-the-symfony2-components-part-4">fourth</a> parts of his "Build a framework on top of Symfony2 components</a> series to his blog:
</p>
<ul>
<li><a href="http://fabien.potencier.org/article/52/create-your-own-framework-on-top-of-the-symfony2-components-part-3">Part three</a> adds on another page to the sample site, creating a front controller and changing the output to use "setContent()" instead of just echoing the data.
<li>In <a href="http://fabien.potencier.org/article/53/create-your-own-framework-on-top-of-the-symfony2-components-part-4">part four</a> he refactors the code to be a bit more readable, adds in the Symfony2 Routing component to correctly get the requests to the right controller and an example of how to generate routes based on route definitions.
</ul>
<p>
You can find the other parts of the series here: <a href="http://fabien.potencier.org/article/50/create-your-own-framework-on-top-of-the-symfony2-components-part-1">part one</a>, <a href="http://fabien.potencier.org/article/51/create-your-own-framework-on-top-of-the-symfony2-components-part-2">part two</a>.
</p>]]></description>
      <pubDate>Mon, 09 Jan 2012 09:31:55 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Fabien Potencier's Blog: Create your own framework... on top of the Symfony2 Components (part 2)]]></title>
      <guid>http://www.phpdeveloper.org/news/17348</guid>
      <link>http://www.phpdeveloper.org/news/17348</link>
      <description><![CDATA[<p>
<i>Fabien Potencier</i> is back with the next installment of his "Building a framework on top of Symfony2" tutorial series with <a href="http://fabien.potencier.org/article/51/create-your-own-framework-on-top-of-the-symfony2-components-part-2">this look at using the HttpFoundation component</a> to use the Request and Response classes to handle HTTP interaction. (Part one <a href="http://phpdeveloper.org/news/17343">is here</a>.)
</p>
<blockquote>
The first step towards better code is probably to use an Object-Oriented approach; that's the main goal of the Symfony2 HttpFoundation component: replacing the default PHP global variables and functions by an Object-Oriented layer.
</blockquote>
<p>
He shows how using this component not only makes OOP handling of requests/responses simpler, but also helps to make your application more secure through features already included in the HttpFoundation component. Sample code is included showing how to fetch the current request, get filtered values from the superglobals (GET/SERVER/etc) and how to respond with a refactored version of the "Hello world" message from the <a href="http://phpdeveloper.org/news/17343">previous example</a>. 
</p>]]></description>
      <pubDate>Thu, 05 Jan 2012 08:11:27 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Symfony Blog: Symfony2 PEAR Channel]]></title>
      <guid>http://www.phpdeveloper.org/news/16524</guid>
      <link>http://www.phpdeveloper.org/news/16524</link>
      <description><![CDATA[<p>
<i>Fabien Potencier</i> has a new post to the Symfony blog today - an announcement about <a href="http://symfony.com/blog/symfony2-pear-channel">the setup of a PEAR channel</a> to make it easier to grab the various Symfony components individually.
</p>
<blockquote>
One of the strengths of Symfony2 lies in its components; they define the building blocks of the framework and they can be used as standalone libraries. [...] The Symfony2 components have been available on Git for quite some time now, and as of today, I'm really excited to announce that they are also installable via the brand new Symfony2 PEAR <a href="http://pear.symfony.com/">channel</a>, powered by <a href="http://pirum-project.org/">Pirum</a> of course.
</blockquote>
<p>Packages included in the list installable on the PEAR channel include:</p>
<ul>
<li><a href="https://github.com/symfony/BrowserKit">BrowserKit</a>
<li><a href="https://github.com/symfony/DependencyInjection">DependencyInjection</a>
<li><a href="https://github.com/symfony/HttpKernel">HttpKernel</a>
<li><a href="https://github.com/symfony/Serializer">Serializer</a>
<li><a href="https://github.com/symfony/Validator">Validator</a>
</ul>]]></description>
      <pubDate>Mon, 27 Jun 2011 14:16:20 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Community News: eZ Components Release Candidate 2008.2]]></title>
      <guid>http://www.phpdeveloper.org/news/11573</guid>
      <link>http://www.phpdeveloper.org/news/11573</link>
      <description><![CDATA[<p>
<a href="http://ezcomponents.org">eZ Components</a>, the enterprise-ready library of PHP components (that can be used together or separately for PHP applications has made a new release candidate available for download: 
</p>
<blockquote>
The eZ Components team just released a release candidate of the new
2008.2 release. This release candidate resolves a couple of issues that
where found during the testing and review process. The release candidate
can be installed by running the following command: pear upgrade ezc/ezcomponents
</blockquote>
<p>
You can also download the full package from the <a href="http://ezcomponents.org/download">downloads page</a> on the eZ Components site. Check out the <a href="http://ezcomponents.org/resources/news/news-2008-12-15">release announcement</a> for more information on whats been updated.
</p>]]></description>
      <pubDate>Mon, 15 Dec 2008 12:07:15 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Zend Developer Zone: Zend Framework 1.7.0 is now available]]></title>
      <guid>http://www.phpdeveloper.org/news/11420</guid>
      <link>http://www.phpdeveloper.org/news/11420</link>
      <description><![CDATA[<p>
The latest version of the Zend Framework, 1.7.0, has <a href="http://devzone.zend.com/article/4045-Zend-Framework-1.7.0-is-now-available">officially been released</a>:
</p>
<blockquote>
The Zend Framework team would like to thank everyone who made this release possible. As always, our generous ZF community has provided countless new features, bug fixes, documentation translations, etc. We'd also like to thank Adobe Systems and Wade Arnold for contributing the new Zend_Amf component. A big thanks to PHP Belgium and everyone who participated in bug hunt day and/or the Zend Framework <A href="http://www.bughuntday.org/">bug hunt</a> week.
</blockquote>
<p>
This update includes lots of new components and features such as: an update to Dojo, Zend_Service_Twitter, support for Open Office Documents in the Zend_Search_Lucene component, Zend_ProgressBar, I18N improvements and much, much more. Check out the full list <a hrf="http://devzone.zend.com/article/4045-Zend-Framework-1.7.0-is-now-available">on this post</a> on the Zend Developer Zone or just head over the <A href="http://framework.zend.com/download/latest">download the latest edition</a>.
</p>
<p>
You can also check out some of <i>Matthew Weier O'Phinney</i>'s comments <a href="http://weierophinney.net/matthew/archives/195-Zend-Framework-1.7.0-Released.html">over on his blog</a> as well as thoughts from Zend's own <i>Andi Gutmans</i> <A href="http://andigutmans.blogspot.com/2008/11/is-it-that-time-already-zend-framework.html">on his blog</a>.
</p>]]></description>
      <pubDate>Tue, 18 Nov 2008 08:15:12 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Smashing Magazine: Drupal Developer's Toolbox]]></title>
      <guid>http://www.phpdeveloper.org/news/11085</guid>
      <link>http://www.phpdeveloper.org/news/11085</link>
      <description><![CDATA[<p>
Smashing Magazine has put together a <a href="http://www.smashingmagazine.com/2008/09/24/drupal-developers-toolbox/">new post</a> that provides a "Drupal Developers Toolbox" with links to resources all over the web.
</p>
<blockquote>
After publishing the recent <A href="http://www.smashingmagazine.com/2008/09/15/wordpress-developers-toolbox/">WordPress Developer's Toolbox</a>, there were several Drupal developers calling out for equal coverage. In this post you will find a thorough collection of all kinds of resources that will aid designers and developers working with Drupal-powered websites. This collection is intended to simplify your tasks and save you time when working with Drupal.
</blockquote>
<p>
They've broken it out into some of the basic components you might need, modules, a few sites offering some design inspiration, themes, tutorials and more.
</p>]]></description>
      <pubDate>Thu, 25 Sep 2008 09:33:26 -0500</pubDate>
    </item>
  </channel>
</rss>
