<?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, 24 May 2012 10:21:25 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Project: Gitlist - A Git Repository Viewer (based on Silex & Twig)]]></title>
      <guid>http://www.phpdeveloper.org/news/17977</guid>
      <link>http://www.phpdeveloper.org/news/17977</link>
      <description><![CDATA[<p>
<i>Klaus Silveira</i> has submitted a project he's been working on to make browsing through git repositories a bit simpler with a local tool - <a href="https://github.com/klaussilveira/gitlist">gitlist</a>.
</p>
<blockquote>
GitList is an elegant and modern web interface for interacting with multiple git repositories. It allows you to browse repositories using your favorite browser, viewing files under different revisions, commit history, diffs. It also generates RSS feeds for each repository, allowing you to stay up-to-date with the latest changes anytime, anywhere. GitList was written in PHP, on top of the <a href="http://silex.sensiolabs.org/">Silex</a> microframework and powered by the Twig template engine. This means that GitList is easy to install and easy to customize. Also, the GitList gorgeous interface was made possible due to <a href="http://twitter.github.com/bootstrap/">Bootstrap</a>.
</blockquote>
<p>
Since it's just a PHP-based application, installing it is as easy as cloning the source to a web-accessible directory and setting up a "config.ini" file with your settings. You can find out more about this project based on the popular Silex microframework <a href="https://github.com/klaussilveira/gitlist">on its GitHub page</a>.
</p>]]></description>
      <pubDate>Fri, 18 May 2012 09:45:46 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPMaster.com: Handling Collections of Aggregate Roots - the Repository Pattern]]></title>
      <guid>http://www.phpdeveloper.org/news/17969</guid>
      <link>http://www.phpdeveloper.org/news/17969</link>
      <description><![CDATA[<p>
On PHPMaster.com today they have a new tutorial focusing on <a href="http://phpmaster.com/handling-collections-of-aggregate-roots/">using the Repository</a> (a part of the <a href="http://en.wikipedia.org/wiki/Domain-driven_design">domain driven design</a> architecture) to enhance your model's current functionality.
</p>
<blockquote>
Unlike mappers, though, which are part of the infrastructure, a repository characterizes itself as speaking the model's language, as it's intimately bound to it. And because of its implicit dependency on the mappers, it preserves the persistence ignorance as well, therefore providing a higher level of data abstraction, much closer to the domain objects.
</blockquote>
<p>
Included in the tutorial is the full code you'll need to create a simple UserInterface class and a User model that extends it. He also makes a UserCollection class to handle working with multiple User objects and a UserMapper to handle the actual data source fetching. Finally, he implements the Repository on top of this base structure showing how it lays on top of everything via the UserMapperInterface instance. At the end some example code showing it in use is also included - making the PDO connection, creating the UserRepository and fetching by a few different data types (email, name and role).
</p>]]></description>
      <pubDate>Thu, 17 May 2012 08:44:37 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Johannes Schl&uuml;ter's Blog: Quick setup for PHP development trees]]></title>
      <guid>http://www.phpdeveloper.org/news/17774</guid>
      <link>http://www.phpdeveloper.org/news/17774</link>
      <description><![CDATA[<p>
In <a href="http://schlueters.de/blog/archives/168-Quick-setup-for-PHP-development-trees.html">this new post</a> to his blog <i>Johannes Schl&uuml;ter</i> shows you how to easily set up a development environment for the recently moved PHP repositories (to git) using "out of tree" builds to keep versions and configurations separate.
</p>
<blockquote>
As PHP has moved to git recently everybody who works on the PHP source has to recreate his work environment. When working on PHP I have a few requirements for my working dirs. For one I want to be able to use different branches (like 5.3, 5.4 and master) at the same time and I want to quickly test different PHP configurations, like builds using thread-safety or debug mode on or off.
</blockquote>
<p>
He includes a set of commands you can use to to clone the new repository and create different working directories for the different kinds of builds that you want to install. He also points out <a href="https://wiki.php.net/vcs/gitfaq#multiple_working_copies_workflow>a post on the PHP wiki</a> that can help you set up multiple checkouts</a> too. He's published his technique <a href="https://github.com/johannes/create-php-workdir">as a shell script</a> on github.
</p>]]></description>
      <pubDate>Wed, 04 Apr 2012 09:48:48 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Dzone.com: Two Symfony2 Bundle Repositories]]></title>
      <guid>http://www.phpdeveloper.org/news/17294</guid>
      <link>http://www.phpdeveloper.org/news/17294</link>
      <description><![CDATA[<p>
On DZone.com <i>John Esposito</i> has a new post sharing <a href="http://css.dzone.com/articles/two-symfony2-bundle">two Symfony2 bundle repositories</a> you can look to to improve your development experience with the framework - KnpBundles and Symfohub.
</p>
<blockquote>
If you're using Symfony2, you already know that the framework uses '<a href="http://symfony.com/doc/2.0/book/page_creation.html#page-creation-bundles">bundles</a>', the equivalent of plugins, if the core counted as a plugin too. (The <a href="http://symfony.com/doc/2.0/book/page_creation.html#page-creation-bundles">official documentation</a> calls bundles 'first-class citizens' in Symfony2.) So far so great idea, but an ecosystem depends on a community, and a community needs some kind of organization. So how is the Symfony2 bundle community organized, and how do you find existing third-party bundles? 
</blockquote>
<p>
<a href="http://knpbundles.com/">KnpBundles</a> provides a larger resource than <a href="http://symfohub.com/bundles">Symfohub</a>, but both have handy features to help you find what you're looking for - filtering, search recommendations and rankings.
</p>]]></description>
      <pubDate>Thu, 22 Dec 2011 12:05:43 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPBuilder.com: Talking to GitHub with PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/17197</guid>
      <link>http://www.phpdeveloper.org/news/17197</link>
      <description><![CDATA[<p>
PHPBuilder.com has a new tutorial posted about <a href="http://www.phpbuilder.com/columns/github/github-api-php_11-29-2011.php3">interfacing with GitHub in PHP</a>, using their API to hook into and pull down information about users and repositories.
</p>
<blockquote>
The <a href="http://git-scm.com/">Git</a>-based project hosting service <a href="http://www.github.com/">GitHub</a> is certainly the belle of today's technology ball, having attracted more than 1 million registered users and amassed more than 2 million hosted projects in less than three years. [...] <a href="http://github-high-scores.heroku.com/">GitHub High Scores</a> and <a href="http://github-badges.heroku.com/">GitHub Badges</a> are two examples of third-party services created using the GitHub API, which is capable of carrying out any task you might wish to perform via GitHub.com. With it you can create, edit and search repositories, learn more about fellow GitHub users, and manage repository issues.
</blockquote>
<p>
<i>Jason</i> shows how to use the <a href="http://github.com/ornicar/php-github-api">php-github-api library</a> to connect to the API, search repository information, get user details, finding their repositories and accessing restricted resources (things only available for the authenticated user like updating your account or working with your own repositories).
</p>]]></description>
      <pubDate>Thu, 01 Dec 2011 11:28:40 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Stuart Herbert's Blog: Where Do You Get Your PHP From For Windows?]]></title>
      <guid>http://www.phpdeveloper.org/news/16927</guid>
      <link>http://www.phpdeveloper.org/news/16927</link>
      <description><![CDATA[<p>
In a recent post to his blog <i>Stuart Herbert</i> asks his readers <a href="http://blog.stuartherbert.com/php/2011/09/27/where-do-you-get-your-php-from-for-windows/">where they get their Windows PHP binaries from</a> - there's more than just <a href="http://windows.php.net">windows.php.net</a> out there after all.
</p>
<blockquote>
I'm currently working out installation instructions for phix on Microsoft Windows before my sessions at PHPNW 11 and ZendCon in October...and I need your help, because it has been many years now since I used Windows. If you do your PHP development using Windows on the desktop or laptop, where do you prefer to get your copy of PHP from?
</blockquote>
<p>
He offers a few options: the obvious <a href="http://windows.php.net/">windows.php.net</a>, the <a href="http://www.microsoft.com/web/platform/phponwindows.aspx">Microsoft Web Platform</a> or a package like <a href="http://www.apachefriends.org/en/index.html">XAMPP</a>/<a href="http://www.wampserver.com/en/">WAMP</a>. In the <a href="http://blog.stuartherbert.com/php/2011/09/27/where-do-you-get-your-php-from-for-windows/#comments">comments</a> of the post favorites include the Web Platform Installer and windows.php.net with the package versions (XAMPP/WAMP) coming in behind.
</p>]]></description>
      <pubDate>Thu, 29 Sep 2011 10:58:24 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Srdjan Vranac's Blog: Custom Repository with DIC in Symfony2]]></title>
      <guid>http://www.phpdeveloper.org/news/16770</guid>
      <link>http://www.phpdeveloper.org/news/16770</link>
      <description><![CDATA[<p>
<i>Srdjan Vranac</i> has a new post to his blog showing you how to <a href="http://blog.code4hire.com/2011/08/custom-repository-with-dic-in-symfony2/">create a custom repository</a> with the dependency injection features that already come with the Symfony2 framework.
</p>
<blockquote>
I am currently working on some Symfony2 bundles, I needed a custom repository to house hold my custom queries, that part is easy with sf2, and quite nicely explained in the <a href="http://symfony.com/doc/current/book/doctrine.html#custom-repository-classes">Manual</a>.
</blockquote>
<p>
He walks you through the setup of a simple custom repository (a part of a Code4Hire bundle) and a (less elegant) call that can be used to reference it and its methods. To make things a big more clean and take advantage of the full dependency injection features of the framework, he makes a change to move the repository into the services.xml. This defines the container and makes it available to the application directly in function calls (like his render() example near the end of the post).
</p>]]></description>
      <pubDate>Thu, 25 Aug 2011 09:02:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Jani Hartikainen's Blog: How to create Doctrine 1-style Soft-Delete in Doctrine 2]]></title>
      <guid>http://www.phpdeveloper.org/news/15539</guid>
      <link>http://www.phpdeveloper.org/news/15539</link>
      <description><![CDATA[<p>
<i>Jani Hartikainen</i> has <a href="http://codeutopia.net/blog/2010/12/04/how-to-create-doctrine-1-style-soft-delete-in-doctrine-2/">posted his technique</a> for making the Doctrine version 1 style "soft delete" in your Doctrine 2 powered application.
</p>
<blockquote>
Doctrine 1 has the concept of behaviors which you could add to your models. One of these was the soft-delete behavior, which allowed you to "delete" records without really deleting them. Doctrine 2 <a href="http://www.doctrine-project.org/blog/doctrine2-behaviours-nutshell">does not have behaviors due to various reasons</a>. However, I needed a way to have a model which worked like soft-delete. Let's see one approach to creating such behavior in Doctrine 2.
</blockquote>
<p>
He introduces the idea of a "soft delete" - essentially a flag that gets set to let the rest of the application think that row is essentially deleted. He shows you how to create the similar functionality via a repository that filters the data for you. He includes code to help you along, defining the find/findOneBy/findBy and the example repository that lets you set an "is deleted" property on the object.
</p>]]></description>
      <pubDate>Mon, 06 Dec 2010 13:02:08 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Zend Developer Zone: Mirroring the Zend Server Repositories]]></title>
      <guid>http://www.phpdeveloper.org/news/15518</guid>
      <link>http://www.phpdeveloper.org/news/15518</link>
      <description><![CDATA[<p>
New on the Zend Developer Zone today is an article from <i>Shahar Evron</i> about <a href="http://devzone.zend.com/article/12805-Mirroring-the-Zend-Server-Repositories">mirroring Zend Server repositories</a> to re-serve them out, either to a different community or as a part of your internal processes.
</p>
<blockquote>
There are several good reasons to mirror a Linux repository, be it the Zend repositories or any other repository. The most simple reason is sheer performance: if you need to install Zend Server on a number of machines, you can save a lot of valuable time by creating a local mirror of the repositories, and using that mirror as your installation source for all servers.
</blockquote>
<p>
He also points out that it can save on bandwidth used - pulling from local will always be more efficient. It also gives you more control about exactly what software is installed on your servers. He breaks the mirroring process up into four steps (with a few added helpful hints at the end):
</p>
<ul>
<li>Copy the Zend Server repository to a local machine
<li>Local Repository Test
<li>Enable network access to your local repository
<li>Configure clients to use your local repository
</ul>]]></description>
      <pubDate>Wed, 01 Dec 2010 09:58:22 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[CodeIgniter.com: SVN Repository Location Moved]]></title>
      <guid>http://www.phpdeveloper.org/news/13975</guid>
      <link>http://www.phpdeveloper.org/news/13975</link>
      <description><![CDATA[<p>
Just a <a href="http://codeigniter.com/news/subversion_server_change/#When:16:28:45Z">quick note</a> today from the CodeIgniter project - if you've been using their Subversion server to pull your latest copies of the framework down, they've made a change.
</p>
<blockquote>
Our Subversion repositories have moved.  Please update your repositories or check out new ones from the new location: <a href="http://svn.ellislab.com/CodeIgniter/trunk">http://svn.ellislab.com/CodeIgniter/trunk</a>
</blockquote>
<p>
The normal downloads (and archive files) are still available <a href="http://codeigniter.com/downloads/">on the CodeIgniter download page</a>.
</p>]]></description>
      <pubDate>Fri, 05 Feb 2010 11:38:36 -0600</pubDate>
    </item>
  </channel>
</rss>

