<?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>Sun, 12 Feb 2012 20:14:28 -0600</pubDate>
    <ttl>30</ttl>
    <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[Nelm.io Blog: Composer: Part 2 - Impact]]></title>
      <guid>http://www.phpdeveloper.org/news/17283</guid>
      <link>http://www.phpdeveloper.org/news/17283</link>
      <description><![CDATA[<p>
In part two of their look at Composer/Packagist, the Nelm.io blog looks at <a href="http://nelm.io/blog/2011/12/composer-part-2-impact/">some of the impact they could have</a> if adopted heavily by the PHP community.
</p>
<blockquote>
In this second part I would like to talk about a few things Composer could do for you, and the PHP community at large, once it is broadly adopted. [...] How can [shared] interfaces be distributed in each project that uses or implements them? This is where I see Composer helping. Composer supports advanced relationships between packages, so to solve this issue you would need three parts.
</blockquote>
<p>
The three parts all revolve around a few different packages (for their specific Caching interface example) - psr/cache-interface, psr/cache and the requiring of these into a framework needing the common interface. He talks some about what this sort of structure has to offer: simpler plugin installation, promotion of good standards, promotion of code reuse and a renewed interest in using PHP.
</p>
<blockquote>
Reinventing the package management wheel is another thing that really should stop. Who am I to say this you ask? It is true, we are building a shiny new wheel as well. Yet I take comfort in the fact that we are trying to build a generic solution which will work for everybody.
</blockquote>]]></description>
      <pubDate>Tue, 20 Dec 2011 11:02:53 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Nikic's Blog: How big are PHP arrays (and values) really? (Hint: BIG!)]]></title>
      <guid>http://www.phpdeveloper.org/news/17270</guid>
      <link>http://www.phpdeveloper.org/news/17270</link>
      <description><![CDATA[<p>
In <a href="http://nikic.github.com/2011/12/12/How-big-are-PHP-arrays-really-Hint-BIG.html">this recent blog post</a> <i>nikic</i> takes an in-depth look at <a href="http://nikic.github.com/2011/12/12/How-big-are-PHP-arrays-really-Hint-BIG.html">how large PHP arrays really are</a> - how memory is used in the creation and management of these handy PHP variable types.
</p>
<blockquote>
In this post I want to investigate the memory usage of PHP arrays (and values in general) using the following script as an example, which creates 100000 unique integer array elements and measures the resulting memory usage. [...] How much would you expect it to be? [...] Now try and run the above code. <a href="http://codepad.viper-7.com/pjB3Wm">You can do it online if you want</a>. This gives me 14649024 bytes. Yes, you heard right, that's 13.97 MB - eightteen times more than we estimated.
</blockquote>
<p>
He goes into the details of PHP's memory management and breaks it down into the different totals (for 64 bit and 32 bit OSes) and details on each - zvalue_value, zvalue, cycles collector, Zend MM allocator and the buckets used to isolate one array (hash table/dictionary) from another. 
</p>
<blockquote>
What does this tell us? PHP ain't C. That's all this should tell us. You can't expect that a super dynamic language like PHP has the same highly efficient memory usage that C has. You just can't.
</blockquote>]]></description>
      <pubDate>Fri, 16 Dec 2011 10:28:39 -0600</pubDate>
    </item>
    <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[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>
    <item>
      <title><![CDATA[PHPMaster.com: Code Templates, AutoHotKey, and Ditto: Speeding Up Development]]></title>
      <guid>http://www.phpdeveloper.org/news/17094</guid>
      <link>http://www.phpdeveloper.org/news/17094</link>
      <description><![CDATA[<p>
On PHPMaster.com today they share a list of <a href="http://phpmaster.com/code-templates-autohotkey-and-ditto/">helpful tools and tricks</a> that you can apply not only to your PHP development, but programming in general. They highlight code templates, using hotkeys and <a href="http://ditto-cp.sourceforge.net/">Ditto</a>.
</p>
<blockquote>
There are also other helpful pieces of software such as libraries, code snippets, and third party applications. In this article I'll show you how I use a feature built into NetBeans along with two other applications to increase my productivity when programming on Windows. These tips and techniques offer a different way of thinking about things which should be helpful to any developer, regardless of his skill level.
</blockquote>
<p>
They start with a look at the Code Templates available in NetBeans (other IDEs/editors have a similar feature) to provide an easier starting place for your code, a tool called <a href="http://www.autohotkey.com/download">AutoHotKey</a> that lets you define custom hotkey shortcuts and <a href="http://ditto-cp.sourceforge.net/">Ditto</a>, a clipboard manager that lets you manage your copy/pasting better than the single-shot functionality Windows normally has.
</p>]]></description>
      <pubDate>Mon, 07 Nov 2011 11:13:20 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Brian Swan's Blog: Why is PHP 5.3 on Windows faster than previous PHP versions?]]></title>
      <guid>http://www.phpdeveloper.org/news/16987</guid>
      <link>http://www.phpdeveloper.org/news/16987</link>
      <description><![CDATA[<p>
In a new post to his blog <i>Brian Swan</i> explains why the latest versions of PHP (the 5.3.x series) are <a href="http://blogs.msdn.com/b/brian_swan/archive/2011/10/12/why-is-php-5-3-on-windows-faster-than-previous-php-versions.aspx">faster now on Windows</a> than some previous versions have been. (Hint: updated technology can work wonders sometimes)
</p>
<blockquote>
[Rasmus Lerdorf recently said at a <a href="http://www.meetup.com/php-49/">Seattle meetup</a>] "If you aren't running PHP 5.3 on Windows, you're lucky…because you have a 40% performance boost coming." He clarified this by saying that, with some help from Microsoft, improvements were made in PHP 5.3 that led to a 40% performance improvement of PHP on Windows. Because he didn't go into the details of why this performance boost was realized, I got questions in email the next day asking about why.
</blockquote>
<p>
The information in a <a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-33-78-metablogapi/8802.image_5F00_511FB339.png">borrowed slide</a> (from a presentation by <a href="http://twitter.com/#!/pierrejoye">Pierre Joye</a>) shows what the differences between the versions are - things like the use of a more modern compiler (VC9 vs VC6), calls to the Win32 API directly and better library management.
</p>]]></description>
      <pubDate>Thu, 13 Oct 2011 08:42:12 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Project: Warden: A user database authorization package for FuelPHP]]></title>
      <guid>http://www.phpdeveloper.org/news/16929</guid>
      <link>http://www.phpdeveloper.org/news/16929</link>
      <description><![CDATA[<p>
<a href="http://fuelphp.com">Fuel framework</a> users have another option when it comes to user authentication management in their applications. <i>Ando</i> has released <a href="http://dre1080.github.com/warden/">Warden</a>, a package that manages logins, password hashing and user ACLs.
</p>
<blockquote>
Warden is a user database authorization package for the FuelPHP framework that aims to fast track development by handling the work load of uthenticating user's. Built for performance, it comes with a ready-to-use user model and database install script.
</blockquote>
<p>
The package uses <a href="http://php.net/bcrypt">bcrypt</a> for password hashing and also provides features for forgotten passwords, password resets and "remember me" functionality. Installation is as simple as adding it to your "always_load" package list and setting up a few configuration options. Sample code for its features is included. You can get the latest version <a href="https://github.com/dre1080/warden">directly from github</a>.
</p>]]></description>
      <pubDate>Thu, 29 Sep 2011 12:19:41 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Juozas Kaziukenas' Blog: Dependencies management in PHP projects]]></title>
      <guid>http://www.phpdeveloper.org/news/16845</guid>
      <link>http://www.phpdeveloper.org/news/16845</link>
      <description><![CDATA[<p>
In his latest post to his Web Species blog <i>Juozas Kaziukenas</i> looks at <a href="http://blog.webspecies.co.uk/2011-09-09/dependencies-management-in-php-projects.html">dependency management in PHP applications</a> and offers a few suggestions of how you can make them easier to track.
</p>
<blockquote>
Rarely a project lives by itself, especially in the days of frameworks. Furthermore, there are a lot of great open source libraries you might want to use to save time. But all of this raises a new problem - how could we manage all those dependencies. Here are some thoughts on this problem and how you might want to solve it; without shooting yourself in a foot. 
</blockquote>
<p>
He mentions <a href="http://svnbook.red-bean.com/en/1.0/ch07s03.html">svn:externals</a> and <a href="http://kernel.org/pub/software/scm/git/docs/git-submodule.html">git's submodule</a> as options in version control systems, PEAR for package management, <a href="http://maven.apache.org/">Apache Maven</a> and the <a href="https://github.com/symfony/symfony-standard/blob/master/deps">deps</a> file in the Symfony framework.
</p>]]></description>
      <pubDate>Mon, 12 Sep 2011 10:39:14 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Cal Evans' Blog: Announcing Day Camp 4 Developers #3]]></title>
      <guid>http://www.phpdeveloper.org/news/16687</guid>
      <link>http://www.phpdeveloper.org/news/16687</link>
      <description><![CDATA[<p>
<i>Cal Evans</i> has <a href="http://blog.calevans.com/2011/08/05/announcing-day-camp-4-developers-3/">announced the latest Day Camp 4 Developers</a> (their third installment) with a focus on Project Management. It will be happening Saturday, October 1st through Sunday, October 2nd.
</p>
<blockquote>
We've added a speaker this time around for a total of six and did away with the lunch break. We discovered that since we were a virtual conference , our lunch break fell at odd times if you weren't actually in Central Time Zone - and a lot of participants weren't. So we filled that with an additional talk.
</blockquote>
<p>
Speakers on the list include some names PHPers will recognize including <i>Paul Jones</i>, <i>Elizabeth Naramore</i>, <i>Keith Casey</i> and <i>Rob Allen</i>. Topics for this completely virtual conference include estimation, agile practices, freelancing hints, project management techniques and dealing with difficult people.
</p>
<p>
If you're interested in the event, you can find out more about it and get your tickets from <a href="http://dc4d3.eventbrite.com/">their ordering page</a>. The cost is $40 USD for attendance/video only or $100 USD for an "office party" of more than one.
</p>]]></description>
      <pubDate>Mon, 08 Aug 2011 12:55:32 -0500</pubDate>
    </item>
  </channel>
</rss>

