<?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 04:38:53 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Stuart Herbert's Blog: Getting PEAR Working On Windows 7]]></title>
      <guid>http://www.phpdeveloper.org/news/17940</guid>
      <link>http://www.phpdeveloper.org/news/17940</link>
      <description><![CDATA[<p>
<i>Stuart Herbert</i> has a new post today showing how to get the well-established <a href="http://pear.php.net">PEAR</a> package management system <a href="http://blog.stuartherbert.com/php/2012/05/10/getting-pear-working-on-windows-7/">working on Windows 7</a> so you can easily call "pear install" on whatever your needs might be.
</p>
<blockquote>
So that I don't forget how to do this next time around. Worked for me, your mileage may vary. First step is to get a working install of PHP. [...] At this point, you should be able to open up a Command Prompt, and type 'php -v', and see the response 'PHP v5.4.latest …' appear as expected. Now for PEAR itself.
</blockquote>
<p>
He gives step-by-step instructions on how to get PEAR up and running - downloading and configuring it with the correct Windows-based paths and using the PEAR_ENV.reg file to update your registry.
</p>]]></description>
      <pubDate>Thu, 10 May 2012 10:43:49 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Phil Sturgeon's Blog: Packages: The Way Forward for PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/17636</guid>
      <link>http://www.phpdeveloper.org/news/17636</link>
      <description><![CDATA[<p>
In <a herf="http://philsturgeon.co.uk/blog/2012/03/packages-the-way-forward-for-php">this new post</a> to his blog <i>Phil Sturgeon</i> talks about what he (and apparently several others) think is the "way forward for PHP" to make it a better language and ecosystem - packages.
</p>
<blockquote>
What is a package? A package is a piece of reusable code that can be dropped into any application and be used without any tinkering to add functionality to that code. [...] Most package systems also allow for something called dependencies. [...] This is how most modern programming languages work, but to make a generalisation: PHP developers hate packages. Why? Well while other languages have great systems like <a href="http://www.cpan.org/">CPAN</a> for Perl, <a href="http://rubygems.org/">Gems</a> for Ruby, PIP, PHP has had a terrible history with package management going back years.
</blockquote>
<p>
He talks about one of the main current packaging systems, <a href="http://pear.php.net">PEAR</a>, and how, despite its attempts, it just hasn't seen the adoption the package management of other languages has. <i>Phil</i> makes a recommendation that is slowly becoming more and more popular in the PHP community - building "unframeworks". These sets of reusable components (similar to the ideas behind <a href="http://auraphp.github.com/">Aura</a>, <a href="http://symfony.com">Symfony</a> and <a href="http://framework.zend.com/zf2">Zend Framework 2</a>) are designed to be dropped in and used without the dependencies of the frameworks they live in. He points to the <a href="http://getcomposer.org/">Composer</a>/<a href="http://packagist.org/">Packagist</a> dynamic duo as a way through all of the current packaging issues - a simple way to make any project an installable package just by adding a configuration file.
</p>]]></description>
      <pubDate>Wed, 07 Mar 2012 08:29:57 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Till Klampaeckel's Blog: Deploying PHP applications: PEAR and composer resources for chef]]></title>
      <guid>http://www.phpdeveloper.org/news/17592</guid>
      <link>http://www.phpdeveloper.org/news/17592</link>
      <description><![CDATA[<p>
In a new post to his site <i>Till Klampaeckel</i> shows how to <a href="http://till.klampaeckel.de/blog/archives/180-Deploying-PHP-applications-PEAR-and-composer-resources-for-chef.html">use PEAR and composer resources</a> (two popular PHP package management tools) from inside of a chef deployment script.
</p>
<blockquote>
This is something experimental I have been working on for our chef deployments. So the objective was/is to find a sane way to install PEAR packages and install dependencies with composer.
</blockquote>
<p>
He shows how to set up the configuration script to discover a new PEAR channel, make the chef script not "fail hard" if a command returns a failed response code (as PEAR will do if the channel is already discovered). The "ignore_failure" configuration directive comes in handy for this. He also shows how to implement a <a href="http://wiki.opscode.com/display/chef/Lightweight+Resources+and+Providers+%28LWRP%29">LWRP</a> in chef for both a PEAR and Composer resource. 
</p>
<p>
You can find the code for this and other cookbook examples <a href="https://github.com/till/easybib-cookbooks/tree/master/php/">on his github account</a>.
</p>]]></description>
      <pubDate>Mon, 27 Feb 2012 13:17:57 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Sameer Borate's Blog: Building a adjacency matrix of a graph]]></title>
      <guid>http://www.phpdeveloper.org/news/17555</guid>
      <link>http://www.phpdeveloper.org/news/17555</link>
      <description><![CDATA[<p>
Building on the graphing tutorial in <a href="http://phpdeveloper.org/news/17543">his last post</a> <i>Sameer</i> continues on looking at graphs in PHP with <a href="http://www.codediesel.com/algorithms/building-a-adjacency-matrix-of-a-graph/">this new post</a> showing how to create an "agency matrix" of a currently built graph.
</p>
<blockquote>
Building a graph is not enough; we also need the ability to search through it. To make it easier to build search algorithms, it is useful if we can represent the graph and its connections in a different way; adjacency matrix being one such representation. An adjacency matrix is a means of representing which vertices (or nodes) of a graph are adjacent to which other vertices.
</blockquote>
<p>
He includes some sample code to extract the data from a graph (built with the PEAR Structures_Graph package) and create a basic "table" of information about each nodes' connections. 
</p>]]></description>
      <pubDate>Fri, 17 Feb 2012 09:19:12 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Sameer Borate's Blog: Building a Graph data structure in PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/17543</guid>
      <link>http://www.phpdeveloper.org/news/17543</link>
      <description><![CDATA[<p>
In the <a href="http://www.codediesel.com/algorithms/building-a-graph-data-structure-in-php">latest post</a> to his blog <i>Sameer Borate</i> takes a look at using the <a href="http://pear.php.net/package/Structures_Graph/download">Structures_Graph</a> package from PEAR to create data structures in PHP with linked nodes for directed and undirected graphs.
</p>
<blockquote>
The Pear Structures_Graph package allows creating and manipulating graph data structures. It allows building of either directed or undirected graphs, with data and metadata stored in nodes. The library provides functions for graph traversing as well as for characteristic extraction from the graph topology.
</blockquote>
<p>
After sharing the one-line install, he shows how to create some instances of the package's Nodes and how to connect them to a graph and link them to other nodes. He includes a few examples - a simpler one with multiple nodes joined in a directed graph, another showing how to associate data with a node and how to query the graph for node connections and testing to see if the graph is <a href="http://en.wikipedia.org/wiki/Directed_acyclic_graph">acyclic</a>.
</p>]]></description>
      <pubDate>Wed, 15 Feb 2012 09:35:15 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Mike Wallner's Blog: Dropping server load with HTTP caching]]></title>
      <guid>http://www.phpdeveloper.org/news/17456</guid>
      <link>http://www.phpdeveloper.org/news/17456</link>
      <description><![CDATA[<p>
<i>Mike Wallner</i> has shared a <a href="http://blog.iworks.at/?/archives/4-Dropping-server-load-with-HTTP-caching.html">quick and easy HTTP caching technique</a> in a new post to his blog today. The key is in using the PEAR <a href="http://pear.php.net/package/HTTP_Header">HTTP_Header</a> package.
</p>
<blockquote>
Ever watched youself browsing e.g. a web forum? Noticed that you viewed the same page several times? Well, this means extraordinary and useless load for your server if there's no caching mechanism implemented in the web application. Even if there is some file or db cache you can still improve performance with implementing some http cache.
</blockquote>
<p>
With a few simple lines of code using <a href="http://pear.php.net/package/HTTP_Header">HTTP_Header</a>, you can tell your scripts how long to set the "expires" header to on your requests. This increment (in seconds) is relayed to the browser to tell it when to next fetch the page and not reload from cache.
</p>]]></description>
      <pubDate>Fri, 27 Jan 2012 09:43:04 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Mike Purcell's Blog: Use PHPUnit without PEAR]]></title>
      <guid>http://www.phpdeveloper.org/news/17451</guid>
      <link>http://www.phpdeveloper.org/news/17451</link>
      <description><![CDATA[<p>
<i>Mike Purcell</i> has a new post to his blog showing a method he's followed to be able to use the popular <a href="http://phpunit.de">PHPUnit</a> unit testing software without having to go through the PEAR installer to get there.
</p>
<blockquote>
PHPUnit is a great tool to protect us developers from introducing new defects when adding new features or re-factoring code. However there is one HUGE downside to PHPUnit; it must be installed using PEAR. Personally, I don't like 'auto-installers', I'd prefer to know what exactly is happening behind the scenes with regards to which libraries are required and how they are being called. [...] After breaking down the PHPUnit source code, I realized it could be installed without going through PEAR, and without too much headache.
</blockquote>
<p>
He walks you through the directories you'll need to set up (test/vendor), the commands you'll need to get the latest version and unpack it, changes to set up some symlinks and updating the PHPUnit source to modify the <a href="http://code.ownij.com/PHPUnitAutoload.php">autoloader</a>, <a href="http://code.ownij.com/PHPUnitBootstrap.php">bootstrap</a> and phpunit executable. 
</p>]]></description>
      <pubDate>Thu, 26 Jan 2012 09:48:00 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[PEAR Blog: What would you do with 5 million lines of code?]]></title>
      <guid>http://www.phpdeveloper.org/news/17441</guid>
      <link>http://www.phpdeveloper.org/news/17441</link>
      <description><![CDATA[<p>
On the PEAR blog today there's an update about the <a href="http://blog.pear.php.net/2012/01/24/what-would-you-do-with-5-million-lines-of-code/">migration over to github</a> that 5 million lines of code has already made:
</p>
<blockquote>
Since October 2011, 5 million lines of the PEAR codebase has shifted to github. Hand in hand with this shift has been the tireless work of Daniel C - someone who brazenly said "I will fix the failing packages!" in the tail end of last year.
</blockquote>
<p>
As a result of <a href="http://permalink.gmane.org/gmane.comp.php.pear.devel/50101">his efforts</a> a list has been created of <a href="http://test.pear.php.net:8080/view/Known%20Good/">known good packages</a> to use with PHP 5.4. Other results include:
</p>
<ul>
<li>All test infrastructure upgrading to PHP 5.4 release candidates
<li>All database driven test suites executing properly, catching a variety of simple bugs
<li>Hitting a point of "near zero" patches to be applied to unmaintained packages
<li>Increasingly, the PEAR QA team is delivering PHP 5.3+ friendly forks of existing packages
</ul>]]></description>
      <pubDate>Tue, 24 Jan 2012 12:18:07 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[PEAR Blog: Welcome to new contributors]]></title>
      <guid>http://www.phpdeveloper.org/news/17276</guid>
      <link>http://www.phpdeveloper.org/news/17276</link>
      <description><![CDATA[<p>
On the PEAR Group blog there's a new post <a href="http://blog.pear.php.net/2011/12/18/welcome-to-new-contributors/">welcoming all new contributors</a> to the project and pointing out that the PEAR account on Github has officially <a href="https://github.com/pear/">passed the 200 repository mark</a> in the move from SVN to Git.
</p>
<blockquote>
PEAR is about providing the PHP community with reusable, effective components - this has been our mission since day 1. If there is anything we can do to make that goal happen, to assist you as an individual or company, I would strongly encourage you to let us know - we're here to help.
</blockquote>
<p>
They mention the work of two individuals that have done good work on a specific package, <a href="https://github.com/meldra">meldra</a> and <a href="https://github.com/Gemorroj">Gemorroj</a> - perfect examples of how the move to Github has made it simpler to implement changes that have been "waiting in the wings" on the <a href="https://github.com/pear/XML_Feed_Parser">XML_Feed_Parser</a> and <a href="https://github.com/pear/Image_Barcode2">Image_Barcode2</a> packages.
</p>
<p>
If you've had changes you've wanted to make to a PEAR package in the past but haven't ever gotten them submitted, there's not a <a href="http://github.com/pear">better time than now</a>.
</p>]]></description>
      <pubDate>Mon, 19 Dec 2011 10:06:55 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Engine Yard: The Future of PHP: PEAR and Pyrus Webcast Recording]]></title>
      <guid>http://www.phpdeveloper.org/news/17167</guid>
      <link>http://www.phpdeveloper.org/news/17167</link>
      <description><![CDATA[<p>
If you missed out on the <a href="http://phpdeveloper.org/news/17096">Future of PEAR/Pyrus</a> webcast event put on by <a href="http://engineyard.com">Engine Yard</a>, you're in luck - they've <a href="https://www.engineyard.com/podcast/the-future-of-php-pear-and-pyrus">posted a recording</a> of the event.
</p>
<blockquote>
In this panel discussion, we tackle topics including the direction PEAR and Pyrus will be going in the next few years, obstacles that may be on the horizon, and more.
</blockquote>
<p>
<a href="http://pear.php.net">PEAR</a> is the package library of standardized packages for a variety of common development tasks. <a href="http://pear2.php.net/PEAR2_Pyrus">Pyrus</a> is a new package manager to make installing and maintaining PEAR packages simpler. Engine Yard's next webcast will <a href="https://engineyard.webex.com/engineyard/onstage/g.php?t=a&d=807664561">cover the Lithium framework</a> with core contributors <i>Nate Abele</i>, <i>Garrett Woodworth</i>, and <i>John Anderson</i> on December 1st.
</p>]]></description>
      <pubDate>Wed, 23 Nov 2011 18:05:10 -0600</pubDate>
    </item>
  </channel>
</rss>

