<?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:46:08 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[NetTuts.com: Easy Package Management for CodeIgniter with Sparks]]></title>
      <guid>http://www.phpdeveloper.org/news/17170</guid>
      <link>http://www.phpdeveloper.org/news/17170</link>
      <description><![CDATA[<p>
On NetTuts.com today there's a new tutorial showing off a package management system for the <a href="http://codeigniter.com">CodeIgniter</a> framework, Sparks, that makes <a href="http://net.tutsplus.com/tutorials/php/easy-package-management-for-codeigniter-with-sparks/">installing and using packages</a> similar to Ruby's gems.
</p>
<blockquote>
<a href="http://getsparks.org/">Sparks</a> is a new package-management system for CodeIgniter that extends the core with support for gem-like sparks. This tutorial interweaves an entry-level overview of the architecture and usage of the sparks system with the creation of dovecote-a simple spark for managing RSS data.
</blockquote>
<p>
The tutorial introduces you to the Sparks system and helps you get it installed and configured to work with a first basic package - a dovecote example. He helps organize and write the first spark as well as set up any dependencies and autoloading it might need. He follows this by adding some functionality to the package to make pushing output to the view simpler.
</p>
<p>
You can <a href="http://nettuts.s3.amazonaws.com/1092_sparks/source.zip">download the source</a> for the complete tutorial's code.
</p>]]></description>
      <pubDate>Fri, 25 Nov 2011 11:00:51 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[DZone.com: Creating a virtual server with Vagrant: a practical walkthrough]]></title>
      <guid>http://www.phpdeveloper.org/news/17145</guid>
      <link>http://www.phpdeveloper.org/news/17145</link>
      <description><![CDATA[<p>
On DZone.com there's a new post from <i>Giorgio Sironi</i> looking at how to <a href="http://css.dzone.com/articles/creating-virtual-server">automate a build of a virtual server with Vagrant</a>, setting up a LAMP-based development instance.
</p>
<blockquote>
Vagrant ia a tool for building virtual machines (in VirtualBox's format) that conforms to a specification. It's written in Ruby, but it makes really no assumptions over the environments that you're gonna build; in this article, we will setup a virtual server for PHP applications running inside Apache.
</blockquote>
<p>
The end result is a virtual machine based on <a href="http://css.dzone.com/articles/using-virtual-machine-play">VirtualBox</a> images and can be built in a few easy steps:
</p>
<ul>
<li>install the vagrant gems on the build system
<li>add a new virtual box instance pointed to a .box file
<li>create the Vagrant config (including the commands to run post-create)
<li>set up a little port forawrding
<li>creating a <a href="http://php.net/phpinfo">phpinfo</a> file and starting up Apache
</ul>
<p>
One suggested place for grabbing images (some with pre-defined software) is <a href="http://bitnami.org/stacks">Bitnami</a>'s "Stacks" repository.
</p>]]></description>
      <pubDate>Fri, 18 Nov 2011 08:18:45 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Raphael Stolt's Blog: Measuring & displaying Phing build times with buildhawk]]></title>
      <guid>http://www.phpdeveloper.org/news/15469</guid>
      <link>http://www.phpdeveloper.org/news/15469</link>
      <description><![CDATA[<p>
<i>Raphael Stolt</i> has a new blog post today looking at his method for <a href="http://raphaelstolt.blogspot.com/2010/11/measuring-displaying-phing-build-times.html">measuing Phing build times</a> with the help of a Ruby gem called <a href="http://github.com/xaviershay/buildhawk">buildhawk</a>.
</p>
<blockquote>
Recently I installed a Ruby gem called <a href="http://github.com/xaviershay/buildhawk">buildhawk</a> which allows to measure and display the build times of <a href="http://rake.rubyforge.org/">Rake</a> driven builds. As I like the idea behind this tool a lot but mostly use <a href="http://phing.info/">Phing</a> for build orchestration, it was time to explore the possibility to interconnect them both. In this blog post I'll show an implementation of an apposite Phing Logger gathering the buildhawk compatible build times via <a href="http://progit.org/2010/08/25/notes.html">git note</a>(s) and how to put the interplay between those two tools to work.
</blockquote>
<p>
He includes the script you'll need to get his example set up - a new logger for Phing that works directly with Buildhawk and stores the information directly into a git note. He includes an example of running the phing build with it enabled and some of the results as exported as an HTML document.
</p>]]></description>
      <pubDate>Mon, 22 Nov 2010 10:53:20 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Olek Janiszewski's Blog: Autotest-like PHPUnit runner for a Zend Framework application]]></title>
      <guid>http://www.phpdeveloper.org/news/15044</guid>
      <link>http://www.phpdeveloper.org/news/15044</link>
      <description><![CDATA[<p>
On the Continuous Development blog there's <a href="http://exviva.posterous.com/autotest-like-phpunit-runner-for-a-zend-frame">a new post</a> showing how <i>Olek Janiszewski</i> came up with a solution to integrate PHPUnit and the Zend Framework via the <a href="http://github.com/mynyml/watchr">watchr</a> Ruby gem.
</p>
<blockquote>
Whenever working on a Ruby project, I'd run autotest with test_notifier to get immediate feedback on my code. Unfortunately, I don't know a similar utility integrated with Zend Framework and PHPUnit. [...] My solution is not as well designed and portable as test_notifier, and it doesn't play as nicely with my Zend application as autotest does with RSpec and Rails. It's more of a quick hack to cover my needs 80% of the time.
</blockquote>
<p>
The watchr gem changes to the correct directory and runs the usual PHPUnit command (to run all tests) and then captures the output to display back to the client. You end up with messages like these: <a href="http://posterous.com/getfile/files.posterous.com/temp-2010-08-28/wybABroJlrboozuaxFlAAugzpBEfubzmhnrCcnegmGdHsotFFipcrkAcCeHC/success.png">success</a>, <a href="http://posterous.com/getfile/files.posterous.com/temp-2010-08-28/hszsJhelJtyCjqIlytEmeiGImxEJzodHEuyJEqkdHFAxICxjDHFdjnytGgfo/skipped.png">warning</a> and <a href="http://posterous.com/getfile/files.posterous.com/temp-2010-08-28/HybdICaAkqmlAjDoaAwiihsgGCgEqAfpelEIBHnpabHFtqHigBCvkwuFAkbw/fatal.png">fatal errors</a>.
</p>]]></description>
      <pubDate>Mon, 30 Aug 2010 13:25:43 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[SitePoint PHP Blog: Introducing pearhub]]></title>
      <guid>http://www.phpdeveloper.org/news/13803</guid>
      <link>http://www.phpdeveloper.org/news/13803</link>
      <description><![CDATA[<p>
In <a href="http://www.sitepoint.com/blogs/2010/01/08/introducing-pearhub/">this new post</a> to the SitePoint PHP blog <i>Troels Knak-Nielsen</i> looking at a new PHP-centric service for creating a resource like the Ruby on Rails "gems" but for PHP software - <a href="http://pearhub.org/">pearhub.org</a>.
</p>
<blockquote>
I think services like these are an important reason why gems are so popular amongst Ruby developers, and I figured that PHP really needs something similar. So over the Christmas, I have been brewing on a service, which is now stable enough that I'll make it available to the community at large. <a href="http://pearhub.org">pearhub.org</a> provides a place where you can register a project, that is hosted on Github, Google code or similar (Currently only git and subversion is supported). The service will generate a PEAR package and put it on a PEAR channel. 
</blockquote>
<p>
PEAR channels have been difficult to set up in the past but the <a href="http://pearhub.org">pearhub.org</a> service makes it simple and you get the added benefit of being able to use the PEAR installer application to do installations and upgrades. You can find out more about the service on <a href="http://pearhub.org/faq">their FAQ</a>.
</p>]]></description>
      <pubDate>Fri, 08 Jan 2010 09:11:20 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Stefan Koopmanschap's Blog: PHP Hidden Gem: similar_text()]]></title>
      <guid>http://www.phpdeveloper.org/news/12859</guid>
      <link>http://www.phpdeveloper.org/news/12859</link>
      <description><![CDATA[<p>
<i>Stefan Koopmanschap</i> has written about <a href="http://www.leftontheweb.com/message/PHP_Hidden_Gem_similar_text">a hidden gem</a> he discovered in PHP to help locate blocks of text that seem similar from one or more sources - <a href="http://php.net/similar_text">similar_text</a>.
</p>
<blockquote>
I am working on a hobby project where I aggregate feeds from several different sources. With the blogs I work it right now, it often happens that an author posts the same post to a few different sites. However, because of site formats and sometimes also quick edits an author makes on one site but not on the author, the article contents are usually not identical strings. So I needed something that would help me figure out whether or not two strings are nearly identical.
</blockquote>
<p>
After Googling around and finding things like the <a href="http://nl2.php.net/manual/en/book.xdiff.php">xdiff extension</a> and <a href="http://www.php.net/soundex">soundex</a>, he discovered the two functions he needed - <a href="http://nl2.php.net/manual/en/function.levenshtein.php">levenshtein</a> and <a href="http://nl2.php.net/manual/en/function.similar-text.php">similar_text</a>.
</p>
<blockquote>
I am still trying to figure out which percentage will catch the duplicates but not catch too many posts which are only similar but not actually duplicates, but with the above 75% I seem to catch quite a few duplicates so far.
</blockquote>]]></description>
      <pubDate>Mon, 13 Jul 2009 09:37:50 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Content with Style Blog: Deploying PHP applications with Vlad and SVN]]></title>
      <guid>http://www.phpdeveloper.org/news/12492</guid>
      <link>http://www.phpdeveloper.org/news/12492</link>
      <description><![CDATA[<p>
<i>Matthias Willerich</i> has posted <a href="http://www.contentwithstyle.co.uk/content/deploying-php-applications-with-vlad">a very complete guide</a> to deploying PHP applications from a subversion repository with <a href="http://rubyhitsquad.com/Vlad_the_Deployer.html">Vlad the Deployer</a> (a Ruby-based deployment engine).
</p>
<blockquote>
In my current day job I have to deploy a number of web apps every few weeks. The person I took over from did the whole thing in a manual and terribly cumbersome way. [...] In the following article, I'm going to describe how I went from there to deploying my Zend Framework-driven PHP apps with Vlad. To save yourself some time, feel free to <a href="http://www.contentwithstyle.co.uk/content/deploying-php-applications-with-vlad#ruby-setup">skip the back story</a>, the <a href="http://www.contentwithstyle.co.uk/content/deploying-php-applications-with-vlad#pre-configure">pre-requisite of installing ruby, gem and rake</a>, or <a href="http://www.contentwithstyle.co.uk/content/deploying-php-applications-with-vlad#deployment-recipes">go straight to the deployment recipes</a>.
</blockquote>
<p>
He wanted a setup that would allow a "one-liner" for deployment, the ability to roll back and to have shares resources between releases. He walks you through the setup of all needed components, the configuration options and some example runs of his build/deploy process.
</p>]]></description>
      <pubDate>Mon, 11 May 2009 12:50:26 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Johannes Schluter's Blog: A hidden gem in PHP 5.3: fileinfo]]></title>
      <guid>http://www.phpdeveloper.org/news/11586</guid>
      <link>http://www.phpdeveloper.org/news/11586</link>
      <description><![CDATA[<p>
<i>Johannes Schluter</i> has pointed out a "hidden gem" for PHP 5.3 in his <a href="http://schlueters.de/blog/archives/92-A-hidden-gem-in-PHP-5.3-fileinfo.html">latest blog post</a> - the <a href="http://php.net/fileinfo">fileinfo extension</a>.
</p>
<blockquote>
This series is not meant to be complete but some personal choice, these blog postings are also no replacement for documentation, but just pointers. My goal is that you try out 5.3 right now so we can fix bugs as soon as possible before releasing it  The NEWS file has a quite short entry for my first subject: Added fileinfo extension as replacement for mime_magic extension. (Derick)
</blockquote>
<p>
He looks at one situation where <a href="http://php.net/fileinfo">the extension</a> could come in very handy - getting the content type of the file for a download push - as well as why its better than the older mime_content_type function.
</p>]]></description>
      <pubDate>Wed, 17 Dec 2008 09:35:59 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Zend Developer Zone: Zend Framework Hidden Gems: Zend_Db]]></title>
      <guid>http://www.phpdeveloper.org/news/6913</guid>
      <link>http://www.phpdeveloper.org/news/6913</link>
      <description><![CDATA[<p>
<i>Aaron Wormus</i> and the Zend Developer Zone have posted the <a href="http://devzone.zend.com/node/view/id/1367">latest edition</a> of their "Hidden Gems" series looking at the lesser-known features of the <a href="http://framework.zend.com">Zend Framework</a>. This time, it's a look at <a href="http://devzone.zend.com/node/view/id/1367">Zend_Db (database abstraction)</a>.
</p>
<blockquote>
<p>
Zend_Db is a layer which sits above the native PDO database extension. Before PDO (pre-PHP5.1) all we had to connect to databases were libraries that were developed in individual cycles and development teams, with little regard to what other database extensions were doing.
</p>
<p>
Taking this speed benefit of using PDO to do a majority of the work, PDO wrapper libraries like Zend_Db can supplement PDO with their own wrapper code leaving you with a fairly lightweight yet feature-rich database abstraction layer.
</p>
</blockquote>
<p>
<i>Aaron</i> <a href="http://devzone.zend.com/node/view/id/1367">looks at</a> connecting to a database (using both the PDO and DSN connections) and some example code showing how to work with the database using them - including queries and using transactions.
</p>]]></description>
      <pubDate>Mon, 18 Dec 2006 10:04:00 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Zend Developer Zone: Zend Framework Hidden Gems: Zend_Config]]></title>
      <guid>http://www.phpdeveloper.org/news/6765</guid>
      <link>http://www.phpdeveloper.org/news/6765</link>
      <description><![CDATA[<p>
The Zend Developer Zone has posted another in the "Hidden Gems" series by <i>Aaron Wormus</i>, <a href="http://devzone.zend.com/node/view/id/1264">this time</a> looking at the Zend_Config component.
</p>
<blockquote>
<p>
Managing configuration is a pretty simple thing to do in PHP, in fact, I'd bet that at some point in their programming career every php programmer has written code. But as soon as you get a bit bigger you realize that you're going to have trouble accessing your configuration variable. 
</p>
<p>
There are many reasons to manage your configuration data indepenantly from your business logic. One common reason is that you don't want to enter your configuration data into the public versioning system that you use.
</p>
</blockquote>
<p>
<i>Aaron</i> <a href="http://devzone.zend.com/node/view/id/1264">looks at</a> how you can use the component in your application easily including an example using the built-in inheritance functionality to easily manage a move from development to production.
</p>]]></description>
      <pubDate>Fri, 24 Nov 2006 11:43:00 -0600</pubDate>
    </item>
  </channel>
</rss>
