<?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>Tue, 21 May 2013 09:05:49 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[NetTuts.com: HTTP: The Protocol Every Web Developer Must Know - Part 2]]></title>
      <guid>http://www.phpdeveloper.org/news/19521</guid>
      <link>http://www.phpdeveloper.org/news/19521</link>
      <description><![CDATA[<p>
NetTus.com has followed up their <a href="http://phpdeveloper.org/news/19433">previous article</a> covering some of the basics of the HTTP protocol with <a href="http://net.tutsplus.com/tutorials/tools-and-tips/http-the-protocol-every-web-developer-must-know-part-2">this new post</a>, part 2 of the series. They suggest that HTTP, the messaging format of the web, is the one protocol that every web developer should know.
</p>
<blockquote>
In my <a href="http://net.tutsplus.com/tutorials/tools-and-tips/http-the-protocol-every-web-developer-must-know-part-1/">previous article</a>, we covered some of HTTP's basics, such as the URL scheme, status codes and request/response headers. With that as our foundation, we will look at the finer aspects of HTTP, like connection handling, authentication and HTTP caching. These topics are fairly extensive, but we'll cover the most important bits.
</blockquote>
<p>
In this article, they talk about things like the HTTPS secure version of HTTP, server-side connection handling, identification/authorization and working with caching and cache control headers.
</p>
Link: http://net.tutsplus.com/tutorials/tools-and-tips/http-the-protocol-every-web-developer-must-know-part-2]]></description>
      <pubDate>Mon, 29 Apr 2013 15:07:21 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[DZone.com: Trying out PHP Refactoring Browser]]></title>
      <guid>http://www.phpdeveloper.org/news/19490</guid>
      <link>http://www.phpdeveloper.org/news/19490</link>
      <description><![CDATA[<p>
On DZone.com <i>Giorgio Sironi</i> has written up a post about <a href="http://css.dzone.com/articles/trying-out-php-refactoring">some testing he's done</a> with the ""PHP Refactoring Browser" (more on that <a href="http://phpdeveloper.org/news/19424">here</a>) on some basic code examples.
</p>
<blockquote>
IDE proponents love, in fact, an Integrated Development Environment that provides all the functionalities you need while writing and editing code; the followers of the Unix way typically write code in Vim while augmenting it via plugins where feasible and leveraging external tools that <a href="http://en.wikipedia.org/wiki/Unix_philosophy">do one thing, and do it well</a>. [...] Automated refactorings in PHP were out of the league of Vim and Unix users; thanks to Qafoo, however, a new open source tool is able to edit code with predefined refactoring recipes: PHP Refactoring Browser.
</blockquote>
<p>
He goes through some of the basic features and functionality of the browser, setting expectations a bit. He shows how to get it installed (via Composer) and the results of some of his testing. Rather than including them all in the post, he opted to <a href="https://github.com/giorgiosironi/prb-example/commits/master">make actual commits on github</a> of the changes.
</p>
Link: http://css.dzone.com/articles/trying-out-php-refactoring]]></description>
      <pubDate>Mon, 22 Apr 2013 10:03:35 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPBuilder.com: Use Dice for Simplified PHP Dependency Injection]]></title>
      <guid>http://www.phpdeveloper.org/news/19428</guid>
      <link>http://www.phpdeveloper.org/news/19428</link>
      <description><![CDATA[<p>
On PHPBuilder.com there's a new tutorial showing how to <a href="http://www.phpbuilder.com/articles/application-architecture/design/use-dice-for-simplified-php-dependency-injection.html">use the Dice dependency injection container</a> to manage dependencies in your application.
</p>
<blockquote>
<a href="http://r.je/dice.html">Dice</a> is a Dependency Injection Container for PHP. It allows you to very quickly and simply use <a href="http://www.phpbuilder.com/columns/php-dependency-injection/Jason_Gilmore04292011.php3">Dependency Injection</a> techniques in your code with very minimal effort on your end. 
</blockquote>
<p>
The article talks some about the features of the Dice DIC and shares a simple introduction to its use in a more practical example. It uses constructor injection and type hinting to automatically handle the injections based on its current set of object references. 
</p>
<blockquote>
With Dice you don't have to worry about how the User accesses the Session object, you add it as a constructor parameter and it Just works. You don't need to reconfigure the container, you don't need to do anything at all. You just alter the constructor definition and everything is done for you.
</blockquote>
<p>
You can find more details about Dice in <a href="http://r.je/dice.html">this post</a> (including more examples of it in action and a link to it's repository <a href="https://github.com/TomBZombie/Dice">on github</a>.
</p>
Link: http://www.phpbuilder.com/articles/application-architecture/design/use-dice-for-simplified-php-dependency-injection.html]]></description>
      <pubDate>Mon, 08 Apr 2013 13:04:46 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPMaster.com: Say Hello to Boris: A Better REPL for PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/19397</guid>
      <link>http://www.phpdeveloper.org/news/19397</link>
      <description><![CDATA[<p>
On PHPMaster.com today <i>Shameer C</i> has a new tutorial <a href="http://phpmaster.com/say-hello-to-boris-a-better-repl-for-php/">introducing you to Boris</a>, a REPL (read-eval-print loop tool) that's a bit more enhanced than the basic PHP interactive shell.
</p>
<blockquote>
As web developers, we know the importance of the JavaScript console provided by the browser in testing out code snippets. We don't need to write an entire HTML page and JavaScript code just to verify the functioning or logic of a small routine we wrote. Instead, we simply run the expressions in the console and immediately see the results. Similarly, a REPL (Read-Eval-Print Loop) is the console of a programming language in which we can write code line-by-line and see what it does. [...] PHP's REPL is very good in what it does, although it does have some limitations. [...] And so, Boris tries to solve these problems and other concerns as well. 
</blockquote>
<p>
He walks you through the installation (via a git clone and, later, through Composer) and shows how to run it as well as some sample output. He also shows how to make a custom command-line Boris runner and how to embed it into your application. His example of a tool that would benefit from this is a command-line web service client using Boris and Guzzle.
</p>]]></description>
      <pubDate>Tue, 02 Apr 2013 10:34:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Zend Framework Blog: Help us improve the documentation!]]></title>
      <guid>http://www.phpdeveloper.org/news/19384</guid>
      <link>http://www.phpdeveloper.org/news/19384</link>
      <description><![CDATA[<p>
On the Zend Framework blog they're <a href="http://framework.zend.com/blog/2013-03-28-help-us-improve-the-documentation.html">asking for your help</a> with the project's documentation. They're looking to the users and community members around the framework to help them make the documentation more useful and stay up to date.
</p>
<blockquote>
A piece of software is only as good as its documentation. The Zend Framework team and a dozen or so contributors are working hard to improve the Zend Framework 2 documentation, but we still want you to help us improve it even more. Any kind of help is welcome and greatly appreciated.
</blockquote>
<p>
Most of what they're looking for is clarity - they want to ensure that what's in the manual makes sense (and is correct for the release it relates to). They're also looking for feedback on what helps you learn best - tutorials, user guides, API docs, etc. Issues and suggestions should be posted to <a href="https://github.com/zendframework/zf2-documentation/issues">the issue tracker</a> in github. If you're not sure where to start, check out <a href="https://github.com/zendframework/zf2-documentation/blob/master/CONTRIBUTING.md">the contributors guide</a>.
</p>]]></description>
      <pubDate>Fri, 29 Mar 2013 11:07:53 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Zend Framework Blog: Zend Framework 1 is Migrating to Git!]]></title>
      <guid>http://www.phpdeveloper.org/news/19375</guid>
      <link>http://www.phpdeveloper.org/news/19375</link>
      <description><![CDATA[<p>
The Zend Framework project has announced a major move for the framework's development - the Zend Framework v1 repositories will be <a href="http://framework.zend.com/blog/2013-03-27-zf1-git-migration.html">moving from Subversion to Git</a> over the next year or so.
</p>
<blockquote>
Since its inception, Zend Framework 1 has used <a href="http://subversion.apache.org/">Subversion</a> for versioning. However, as we approach its end-of-life (which will occur 12-18 months from the time this post is written), and as our experience with ZF2 processes becomes more familiar, we -- the Zend team and the Community Review team -- feel that we can better support ZF1 via <a href="http://github.com/">GitHub</a>. As such, we will be migrating the ZF1 Subversion repository to GitHub this week. Please read on for details!
</blockquote>
<p>
<a href="http://framework.zend.com/blog/2013-03-27-zf1-git-migration.html">The post</a> details the steps that'll be taken during the process including the changing of the location of the "master" branch (and how to change svn to point to it) and the updates to the integration of the Dojo libraries. They also talk some about the "extras" repository and how things will work with the Issue Tracker and pull requests in the future. 
</p>
<blockquote>
The repository and issues migration is the first step in a series of planned migrations. We also plan to eventually migrate our wiki to GitHub; this will allow us to offload functionality from the main ZF website, and also consolidate all development-related functionality (other than the mailing list) in a central location.
</blockquote>]]></description>
      <pubDate>Thu, 28 Mar 2013 09:29:23 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[James Fuller: First Impressions: Cloud9 IDE + PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/18960</guid>
      <link>http://www.phpdeveloper.org/news/18960</link>
      <description><![CDATA[<p>
<i>James Fuller</i> has <a href="http://www.jblotus.com/2012/12/25/first-impressions-of-cloud9-ide/">posted a review</a> of the online code editing tool <a href="https://c9.io/">Cloud9</a> and how well it works for his PHP development.
</p>
<blockquote>
At first I though Cloud9 would be a simple editor, perhaps a nice showcase of what you can do with HTML5 and some well-written javascript but it quickly became evident that this app was packing a lot of powerful features. [...] Sounds pretty awesome if you think about it. You can even connect you own server via SSH instead of using the build in sandbox (this is a paid feature). Is this the Holy-Grail? Not Really, but it's close. This is a very exciting product that almost reaches holy-grail status, but it falls short in a few key areas. 
</blockquote>
<p>
He includes a little bit about trying to use PHP 5.5 in the Cloud9 editing, and points out that while he was (eventually) able to get the PHP 5.5 alpha compiled, he wasn't able to get things like memcache compiled and working. 
</p>
<blockquote>
The Cloud9 team has done a great job removing the barriers to getting a simple idea out the door. I implemented <a href="https://github.com/jblotus/cloud9-php-fizzbuzz">FizzBuzz in PHP</a> using <a href="http://getcomposer.org/">Composer</a>, <a href="http://www.phpunit.de/manual/current/en/index.html">PHPUnit</a>, and some <a href="http://php.net/manual/en/book.spl.php">SPL interfaces</a> and got it all done , and posted to GitHub in about an hour. 
</blockquote>]]></description>
      <pubDate>Thu, 27 Dec 2012 13:41:24 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Josh Adell: Migrating to Dependency Injection]]></title>
      <guid>http://www.phpdeveloper.org/news/18794</guid>
      <link>http://www.phpdeveloper.org/news/18794</link>
      <description><![CDATA[<p>
In a new post to his blog <i>Josh Adell</i> talks about his voyage to <a href="http://blog.everymansoftware.com/2012/11/migrating-to-dependency-injection.html">implement dependency injection</a> into a current application. His work can be found in <a href="http://github.com/jadell/laldi">this github repository</a>.
</p>
<blockquote>
Recently, I gave a lunch-and-learn to my team on the topic of Dependency Injection (DI). Instead of showing a bunch of slides explaining what DI is and what it's good for, I created a small project and demonstrated the process of migrating a codebase that does not use DI to one that does. Each stage of the project is a different tag in the repository. The code can be found on Github: <a href="http://github.com/jadell/laldi">http://github.com/jadell/laldi</a>. Checkout the code, and run composer install. To see the code at each step in the process, run the git checkout command in the header of each section.
</blockquote>
<p>
He goes through each "checkout" step (the title is the git command to run to follow along) showing how he migrated away from a simple micro-framework based site to one that defines the various objects (and repositories) inside the "application" object. He adds in a few comments to let you know a bit more about what's going on and some basic event handling. He finishes off the post with some potential issues that could come up both during the process and with the resulting application.
</p>]]></description>
      <pubDate>Fri, 23 Nov 2012 11:41:41 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Community News: PHP-GTK Project Moves to Github]]></title>
      <guid>http://www.phpdeveloper.org/news/18782</guid>
      <link>http://www.phpdeveloper.org/news/18782</link>
      <description><![CDATA[<p>
According to <a href="http://php-gtk.eu/en/new-repository-for-php-gtk">this new post</a> on the main PHP-GTK project's website, they've officially made the move over to github:
</p>
<blockquote>
Although the main PHP-GTK site at <a href="http://gtk.php.net/">http://gtk.php.net/</a> does not (yet ?) make mention of it, development of PHP-GTK is still active, but is using a more recent infrastructure, having moved to Github like many other projects.
</blockquote>
<p>
You can find this new repository at <a href="https://github.com/php/php-gtk-src">https://github.com/php/php-gtk-src</a>. The PHP-GTK project is an extension for the PHP programming language that implements language bindings for GTK+. It provides an object-oriented interface to GTK+ classes and functions and greatly simplifies writing client-side cross-platform GUI applications.
</p>]]></description>
      <pubDate>Wed, 21 Nov 2012 10:25:15 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Matthias Noback: Experiences with PHP Open Source Software in a Symfony-Friendly Environment]]></title>
      <guid>http://www.phpdeveloper.org/news/18746</guid>
      <link>http://www.phpdeveloper.org/news/18746</link>
      <description><![CDATA[<p>
<i>Matthias Noback</i> has a new post today sharing some of his <a href="http://php-and-symfony.matthiasnoback.nl/2012/11/experiences-with-php-open-source-software-in-a-symfony-friendly-environment/">experiences working with Open Source software</a>, specifically as it relates to this dealings with a "Symfony-friendly environment".
</p>
<blockquote>
These days, good PHP object-oriented libraries are all around and easily available. To me, it is actually thrilling to be part of this flourishing community, while working with Symfony2 and blogging about the Framework, the Components and their neighbors (like Silex). [...] Still, to me, contributing felt like too big a step to take right now. Until a few weeks ago, when I was looking for something I needed (a PHP client for the Microsoft Translator API) and could not find a decent solution. I decided to <a href="https://github.com/matthiasnoback/microsoft-translator">make it myself</a>, and share it online. 
</blockquote>
<p>
He shares his "checklist" of steps he followed to get the library up and working (less about the library and more about the process):
</p>
<ul>
<li>Write the code
<li>Initialize a Git repository
<li>Add a composer.json file
<lI>Add unit tests
<li>Make it open source and developer friendly
<li>Push your code to GitHub
<li>Register your project at packagist.org
<li>Register the Packagist Service Hook
<li>Versioning
<li>Continuous integration using Travis CI
</ul>
<p>
He also suggests that, at least at the outset, you skip some of your tests that might rely on external data sources/resources (so the build can start as green on Travis) then coming back and refactoring to mock things out correctly. It might look like an intimidating list for a beginner, but it's a great process to follow to have a robust, effective development/deployment process.
</p>]]></description>
      <pubDate>Wed, 14 Nov 2012 11:24:19 -0600</pubDate>
    </item>
  </channel>
</rss>
