<?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, 18 May 2013 19:33:37 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Fabien Potencier: About Symfony: Stability over Features]]></title>
      <guid>http://www.phpdeveloper.org/news/19460</guid>
      <link>http://www.phpdeveloper.org/news/19460</link>
      <description><![CDATA[<p>
<i>Fabien Potencier</i> (of the Symfony framework) has a new post to his site talking about a philosophy that the Symfony framework community should work towards, <a href="http://fabien.potencier.org/article/68/about-symfony-stability-over-features">providing stability over features</a>.
</p>
<blockquote>
Long story short: in the coming months, the Symfony core contributors should focus their efforts toward stabilizing the existing features instead of working on new ones. At this point, backward compatibility and stability are more important than everything else.
</blockquote>
<p>
He highlights some of the points that come along with this effort including less refactoring for the sake of refactoring, fixing more bugs/edge cases and writing more tests/documentation. He gets into some of the specifics of this kind of thinking and points out the things that can and can't be changed during this time. He talks more about stability and suggests that not only can it help enhance performance but it could also help motivate more projects/corporate users to start using the framework.
</p>
Link: http://fabien.potencier.org/article/68/about-symfony-stability-over-features]]></description>
      <pubDate>Mon, 15 Apr 2013 10:12:34 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Gonzalo Ayuso: Enqueue Symfony's process components with PHP and ZeroMQ]]></title>
      <guid>http://www.phpdeveloper.org/news/19434</guid>
      <link>http://www.phpdeveloper.org/news/19434</link>
      <description><![CDATA[<p>
<i>Gonzalo Ayuso</i> has a new post today showing how he set up <a href="http://gonzalo123.com/2013/04/08/building-a-zeromq-enqueue-with-php/">queuing with ZeroMQ and Symfony components</a> and <a href="http://reactphp.org/">React</a>.
</p>
<blockquote>
Today I'd like to play with <a href="http://www.zeromq.org/">ZeroMQ</a>. ZeroMQ is a great tool to work with sockets. I will show you the problem that I want to solve: One web application needs to execute background processes but I need to execute those processes in order. Two users cannot execute one process at the same time. OK, if we face to this problem we can use Gearman. I've written various posts about Gearman (<a href="http://gonzalo123.com/2011/03/07/watermarks-in-our-images-with-php-and-gearman/">here</a> and <a href="http://gonzalo123.com/2010/11/01/database-connection-pooling-with-php-and-gearman/">here</a> for example). But today I want to play with ZeroMQ.
</blockquote>
<p>
He uses React and some ZeroMQ bindings and Symfony's <a href="https://github.com/symfony/Process">Process</a> component to make a simple client and server for working with the queue and processes. A screencast is included in the post showing them making the connection and adding the new process. The full code can be found <a href="https://github.com/gonzalo123/zmqlifo">on github</a> (or installable <a href="https://packagist.org/packages/gonzalo123/zmqlifo">via Composer</a>)
</p>
Link: http://gonzalo123.com/2013/04/08/building-a-zeromq-enqueue-with-php]]></description>
      <pubDate>Tue, 09 Apr 2013 11:11:59 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Daniel Cousineau: Using Symfony Console From Scratch]]></title>
      <guid>http://www.phpdeveloper.org/news/19419</guid>
      <link>http://www.phpdeveloper.org/news/19419</link>
      <description><![CDATA[<p>
<i>Daniel Cousineau</i> has posted a guide to <a href="http://dcousineau.com/blog/2013/03/28/using-symfony-console-from-scratch/">using the Symfony Console component</a> as a part of your application. It introduces you to some of the basics of using the component and has plenty of sample code to get you started.
</p>
<blockquote>
CLI applications are extremely useful for many, if not most web projects. The Symfony framework even goes so far as to include an extensible CLI console used for everything from running cache cleanup/warmup tasks, to user account management. Many CLI scripts for web projects consist of just a static .php file which works fine but grow unweildy over time. Thankfully, the aforementioned Symfony Console component is released as a decoupled standalone that can be installed and setup easily and provide us with structure and organization (and some powerful features).
</blockquote>
<p>
He walks you through the installation of the component via Composer and includes the code to make a simple CLI script using it. He shows how to make new commands (like his "TestCommand") and how to attach it to the application. He talks about output and input handling with arguments and options. He also shows an integration with an existing application with a base command class that helps to set up and configure the command objects that inherit it.
</p>
Link: http://dcousineau.com/blog/2013/03/28/using-symfony-console-from-scratch/]]></description>
      <pubDate>Fri, 05 Apr 2013 12:46:43 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Symfony Blog: Symfony Docs Hack Day Needs You on March 30th]]></title>
      <guid>http://www.phpdeveloper.org/news/19346</guid>
      <link>http://www.phpdeveloper.org/news/19346</link>
      <description><![CDATA[<p>
On the Symfony blog there's a post from <i>Ryan Weaver</i> about an upcoming event the project is hosting and how you can help - the <a href="http://symfony.com/blog/symfony-docs-hack-day-needs-you-on-march-30th">Symfony Docs Hack Day</a> (on March 30th).
</p>
<blockquote>
The first commit to the Symfony documentation was over 3 years ago, and since then, we've grown to include a full book, lots of cookbook entries, and sections for most of the individual components. [...] But as we grow, we want to stay aggressive and continue to improve the quality of the docs. This means ensuring that code examples are accurate and pages are easy to understand, balancing the info you need with excess technical clutter. [...] And this is where we need your help! Whether you're a seasoned-Symfony veteran, a beginner, or even if you don't think your English is very good, we'd like you to join us on March 30th for our first ever Symfony Docs Hack Day. 
</blockquote>
<p>
The event is a virtual one - everyone will meet up on the <a href="http://freenode.net">Freenode</a> IRC network in the #symfony-docs channel on March 30th from 9am through 5pm Central EU time. Everyone's invited, not just those who are experts in the framework. Documentation updates are a great way to learn more about a framework too! If you're interested in what kind of updates they're looking for, check out <a href="https://github.com/symfony/symfony-docs/issues?labels=Actionable&page=1&state=open">this list</a> of open issues with the docs on Github.
</p>]]></description>
      <pubDate>Thu, 21 Mar 2013 12:05:19 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[DZone.com: The Wheel: Symfony Console]]></title>
      <guid>http://www.phpdeveloper.org/news/19307</guid>
      <link>http://www.phpdeveloper.org/news/19307</link>
      <description><![CDATA[<p>
In <a href="http://css.dzone.com/articles/wheel-symfony-console">this new post</a> to DZone.com, <i>Giorgio Sironi</i> kicks off a series that looks at reusable components in the PHP development world. In this first post of that series he looks at the <a href="http://symfony.com/doc/current/components/console/introduction.html">Symfony console component </a>.
</p>
<blockquote>
Symfony is one of the most popular open source PHP frameworks on the market. The Symfony Components, however, are loosely coupled projects that can be reused as a library outside of an application based on Symfony. The component this article explores is Console (symfony/console on Packagist and GitHub), dedicated to quickly build console applications.
</blockquote>
<p>
He goes on to talk about some of the "pros" of using the component (including built-in argument/input handing and multiple "commands") and some of the "cons" of is use (including its size and some of the built-in features you can't really work around).
</p>]]></description>
      <pubDate>Wed, 13 Mar 2013 11:22:31 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Symfony Blog: Symfony Live 2013 tour: time to start the new season!]]></title>
      <guid>http://www.phpdeveloper.org/news/19104</guid>
      <link>http://www.phpdeveloper.org/news/19104</link>
      <description><![CDATA[<p>
As is mentioned in <a href="http://symfony.com/blog/symfony-live-2013-tour-time-to-start-the-new-season">this new post</a> to the Symfony Blog, it's "time to start a new season" of Symfony-related events (both at other events and Symfony Live).
</p>
<blockquote>
I'm so happy to announce to all of you Symfony folks, the super exciting Symfony Live year that is waiting for you! This time I promise, this is going to be "Great News" for all of you!
</blockquote>
<p>Events mentioned for this year (so far) are:</p>
<ul>
<li>The Symfony track at this year's <a href="http://sunshinephp.com/register/">SunshinePHP conference</a> (happening next week!)
<li>The US edition of <a href="http://portland2013.live.symfony.com/">Symfony Live in Portland</a>
<li>Three other Symfony Live events to happen in Eurpoe
</ul>
<p>
The largest announcement, though, is the SymfonyCon Europe that will be new this year, an all Symfony conference to be held somewhere in Europe later in 2013.
</p>]]></description>
      <pubDate>Tue, 29 Jan 2013 10:50:13 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPMaster.com: Dependency Injection with Pimple]]></title>
      <guid>http://www.phpdeveloper.org/news/19103</guid>
      <link>http://www.phpdeveloper.org/news/19103</link>
      <description><![CDATA[<p>
On PHPMaster.com there's a new tutorial showing you <a href="http://phpmaster.com/dependency-injection-with-pimple/">how to use Pimple</a> (the <a href="http://pimple.sensiolabs.org/">dependency injection container</a> from the Symfony folks) in your application to manage objects and resources.
</p>
<blockquote>
In application development, we try to create independent modules so that we can reuse code in future projects. But, it's difficult to create completely independent modules which provide useful functionality; their dependencies can cause maintenance nightmares unless they are managed properly. This is where Dependency Injection comes in handy, as it gives us the ability to inject the dependencies our code needs to function properly without hard coding them into the modules.
</blockquote>
<p>
They start with a look at the problem with working with "concerete dependencies", ones that are hard-coded into your classes making them not only hard to test but potentially difficult to maintain. They include an example of this (a "SocialFeeds" class and friends) and then one of two ways to fix the situation. They start with using constructor-based injection, injecting the Twitter service into the main feeds object. They also talk about another method - setter-based injection - where the objects are injected via specific methods on the object. 
</p>
<p>
As a third alternative, though, they get to using Pimple to manage the objects, making it easier to inject just the one resource into your classes and extract the objects you need from there. There's also a bit of "advanced" usage of Pimple showing the use of the "share" and "extend" methods.
</p>]]></description>
      <pubDate>Tue, 29 Jan 2013 09:37:50 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Paul Jones: Symfony Components: Sometimes Decoupled, Sometimes Not]]></title>
      <guid>http://www.phpdeveloper.org/news/18987</guid>
      <link>http://www.phpdeveloper.org/news/18987</link>
      <description><![CDATA[<p>
In <a href="http://paul-m-jones.com/archives/4263">this new post</a> to his site <i>Paul Jones</i> talks a bit more about coupling in frameworks (see some of his recent <a href="http://paul-m-jones.com/archives/category/programming/aura">Aura</a> posts for more), this time looking at how the <a href="http://symfony.com">Symfony</a> framework defines "decoupled" based on its object structure.
</p>
<blockquote>
Previously, on decoupling and dependencies, <a href="http://paul-m-jones.com/archives/4211">I said</a>: "Some [Symfony] commenters were dissatsifed with my use of unit testing requirements to discover what a package really depends on, as opposed to what its composer.json file states." I'm willing to allow that the Symfony commenters here might be right. Let's try looking at Symfony's claims and see how they stack up. 
</blockquote>
<p>
Based on <a href="http://symfony.com/components">a list</a> of components Symfony says don't have mandatory dependencies, he finds that - out of the fifteen given - four of them do have dependencies. 
</p>
<blockquote>
Does having mandatory dependencies make it a bad project? Not at all. It just means their statement of "no mandatory dependencies" (and related statements) is not true for all the components listed. Now, it may be that the Symfony folk have a different idea of what "decoupled" and "standalone" mean.
</blockquote>]]></description>
      <pubDate>Thu, 03 Jan 2013 11:09:26 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Symfony Blog: Static Page Caching & Payment Validators in Symfony 2.2]]></title>
      <guid>http://www.phpdeveloper.org/news/18880</guid>
      <link>http://www.phpdeveloper.org/news/18880</link>
      <description><![CDATA[<p>
On the Symfony blog, there's two new posts highlighting some recent improvements to the Symfony2 framework - the addition of static page caching and payment validators:
</p>
<ul>
<li><a href="http://symfony.com/blog/new-in-symfony-2-2-cache-support-for-static-pages">Static page caching</a> support in the routing configuration
<li><a href="http://symfony.com/blog/new-in-symfony-2-2-payment-related-validators">Payment validators</a> with docblock assertions, including error messages for failures.
</ul>
<p>
These features are all a part of the upcoming Symfony 2.2 release that's <a href="http://symfony.com/blog/symfony-2-2-release-schedule">planned</a> to be moved in the "stabilization" status in early 2013. It should be able two months following that when the stable version will be released.
</p>]]></description>
      <pubDate>Wed, 12 Dec 2012 11:46:39 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Paul Jones: How Is Aura Better Than (er, Different From ;-) Than Symfony and Zend?]]></title>
      <guid>http://www.phpdeveloper.org/news/18860</guid>
      <link>http://www.phpdeveloper.org/news/18860</link>
      <description><![CDATA[<p>
In <a href="http://paul-m-jones.com/archives/4152">this new post</a> <i>Paul Jones</i> has reprinted an interview he did with PHP Magazin about the recent 1.0 release of the PHP framework project he is a lead on - the <a href="http://auraphp.github.com/">Aura project</a>.
</p>
<blockquote>
I did an email interview with the folks at PHP Magazin; their German version is <a href="http://it-republik.de/php/news/Aura-zerschlaegt-den-Solar-Monolithen---Interview-mit-Paul-M.-Jones-066043.html">here</a>. What follows is our original email exchange in English.
</blockquote>
<p>
They talked about some of the core principles behind the framework, its origins from the Solar framework, the team's "libraries first, framework second" methods and its push to be a PHP 5.4-focused framework. There's also a bit that compares the framework to two other popular options - Zend Framework and Symfony.
</p>]]></description>
      <pubDate>Fri, 07 Dec 2012 10:42:55 -0600</pubDate>
    </item>
  </channel>
</rss>
