<?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>Wed, 23 May 2012 13:19:18 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[PHPMaster.com: An Introduction to Redis in PHP using Predis]]></title>
      <guid>http://www.phpdeveloper.org/news/17901</guid>
      <link>http://www.phpdeveloper.org/news/17901</link>
      <description><![CDATA[<p>
On PHPMaster.com today there's a new tutorial by <i>Daniel Gafitescu</i> showing you how to <a href="http://phpmaster.com/an-introduction-to-redis-in-php-using-predis/">work with Redis</a> (a key-value store) via PHP with the help of the <a href="https://github.com/nrk/predis">Predis</a> library.
</p>
<blockquote>
There is a lot of argument whether Redis or Memcache is better, though <a href="http://antirez.com/post/update-on-memcached-redis-benchmark.html">as the benchmarks show</a> they perform pretty much on par with each other for basic operations. Redis has more features than Memcache has, such as in-memory and disk persistence, atomic commands and transactions, and not logging every change to disk but rather server-side data structures instead. In this article we'll take a look at some of the basic but powerful commands that Redis has to offer using the Predis library.
</blockquote>
<p>
He helps you get a local redis server up and running and includes a <a href="https://github.com/nrk/predis">link to the repository</a> for the latest version of the Predis library. Some sample code is provided showing how to connect to the server, push data into a key/value combination, get the value back out, increment it and check to see if it exists. He also talks about some of the available data types Redis provides and a few other more complex operations you can perform on things other than strings.
</p>]]></description>
      <pubDate>Thu, 03 May 2012 09:35:21 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[DZone.com: Including PHP libraries via Composer]]></title>
      <guid>http://www.phpdeveloper.org/news/17735</guid>
      <link>http://www.phpdeveloper.org/news/17735</link>
      <description><![CDATA[<p>
On DZone.com there's a new post from <i>Giorgio Sironi</i> about <a href="http://css.dzone.com/articles/including-php-libraries">using Composer to install packages/libraries</a>:
</p>
<blockquote>
The main package source used by Composer seems more similar to the usage of git submodules at a first glance: a list of dependencies on other projects is specified and stored under version control, and upon a checkout these projects are grabbed directly from their repositories.
</blockquote>
<p>
He talks about what problem the project solves, what issues he's found with it so far (the amount of stuff downloaded for each dependency, the single point of failure of the one Packagist repository) and shows how to get it installed and creating a sample "composer.json" file for an example project.
</p>]]></description>
      <pubDate>Tue, 27 Mar 2012 09:02:55 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Michael Nitschinger's Blog: Getting Started with Couchbase and PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/17656</guid>
      <link>http://www.phpdeveloper.org/news/17656</link>
      <description><![CDATA[<p>
In his most recent blog post <i>Michael Nitschinger</i> <a href="http://nitschinger.at/Getting-Started-with-Couchbase-and-PHP">introduces you to Couchbase</a>, a document-oriented database, and how to use it with PHP.
</p>
<blockquote>
As there were a lot of merges, renamings and releases, it was pretty hard to follow up with the current/best database version and SDK to use for your project. Now as the dust has settled a bit, here's what I've come up with: Couchbase 2.0 will be the next major version and is already pretty stable, so I'll jump straight onto it and skip 1.8. 
</blockquote>
<p>
He recommends using the <a href="https://github.com/couchbaselabs/php-couchbase">php-couchbase</a> libraries or the <a href="https://github.com/couchbaselabs/php-ext-couchbase">php-ext-couchbase extension</a>. He walks you through the whole process of getting Couchbase installed and running and the PHP support installed via the aptitude package manager. A sample script and some basic usage information is also included.
</p>]]></description>
      <pubDate>Mon, 12 Mar 2012 08:35:06 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Marcelo Gornstein's Blog: Sniffing in PHP using libpcap: Thank you SWIG!]]></title>
      <guid>http://www.phpdeveloper.org/news/17566</guid>
      <link>http://www.phpdeveloper.org/news/17566</link>
      <description><![CDATA[<p>
<i>Marcelo Gornstein</i> has posted a new article showing how to <a href="http://marcelog.github.com/articles/swig_php_libpcap_module_c++.html">use SWIG and libpcap</a> to sniff packets from the network directly from his PHP application.
</p>
<blockquote>
I've been wanting to try <a href="http://www.swig.org/">SWIG</a> for a long time, but never got the chance, for one thing or the other. So this weekend I've finally decided to give it a try by trying to create a php extension that access a small C++ wrapper for libpcap, so I can sniff packets directly from PHP. Just for fun (and actually because I couldn't find any active pecl extension to use libpcap, so it might as well be something useful). I've named it "<a href="https://github.com/marcelog/SimplePcap">SimplePcap</a>".
</blockquote>
<p>
He includes both the sample code showing the extension's usage and an example of the output from his local "eth0" device. His PHP script uses SWIG to interface with the pcap_t/Packet class structure via <A href="https://github.com/marcelog/SimplePcap/blob/master/SimplePcap.i">this interface file</a> and typemap.
</p>
<blockquote>
SWIG is really great. I just did some C++ code and then worried about how to integrate it to PHP. Althought it seems that you really need lots of experience with it to actually do more advanced things in the right way. [...] So I guess that sometimes it's more productive to just make the PHP extension than using SWIG. But if you want your code to be run in many languages, this is definitely an excellent library to try!
</blockquote>]]></description>
      <pubDate>Tue, 21 Feb 2012 10:13:34 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Community News: The Changelog Podcast]]></title>
      <guid>http://www.phpdeveloper.org/news/17527</guid>
      <link>http://www.phpdeveloper.org/news/17527</link>
      <description><![CDATA[<p>
If you're a fan of open source development and can't get enough about projects and what's the latest in the online OS community as a whole, you'll definitely enjoy <a href="http://thechangelog.com/">The Changelog</a> (it's a weekly podcast and news site).
</p>
<p>
The podcast hosts talk about popular trends and technology in the open source world and interview developers behind some of the useful tools you may use every day. Recent topics include <a href="http://thechangelog.com/post/17325686068/episode-0-7-2-vagrant-with-mitchell-hashimoto">Vagrant with Mitchell Hashimoto</a>, <a href="http://thechangelog.com/post/14517970749/episode-0-7-1-spine-and-client-side-mvc-with-alex-maccaw">Spine and client-side MVC with Alex MacCaw</a> and <a href="http://thechangelog.com/post/13873612141/episode-0-7-0-foundation-and-other-zurb-goodies">Foundation and other Zurb goodies</a>.
</p>
<p>They've also spotlighted several interesting new libraries including:</p>
<ul>
<li><a href="http://thechangelog.com/post/17302017912/livereload-coffeescript-sass-less-and-others-just">LiveReload</a>
<li><a href="http://thechangelog.com/post/17266976705/requests-http-library-for-php">Requests</a> (for PHP)
<li><a href="http://thechangelog.com/post/17250787936/spacepen-markaby-inspired-coffeescript-view-framework-fo">SpacePen</a>
<li><a href="http://thechangelog.com/post/17243337669/active-attr-the-stuff-activemodel-left-out">active_attr</a>
<li><a href="http://thechangelog.com/post/17158881315/sidekiq-more-efficient-resque-compatible-message-process">sidekiq</a>
</ul>]]></description>
      <pubDate>Fri, 10 Feb 2012 08:50:41 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Ed Finkler's Blog: The MicroPHP Follow-up FAQ]]></title>
      <guid>http://www.phpdeveloper.org/news/17516</guid>
      <link>http://www.phpdeveloper.org/news/17516</link>
      <description><![CDATA[<p>
Following up from his (now infamous) <a href="http://phpdeveloper.org/news/17341">MicroPHP manifesto</a>, <i>Ed Finkler</i> has <a href="http://funkatron.com/posts/the-microphp-follow-up-faq.html">this new post</a> to his blog answering some of the common questions he's gotten about his beliefs.
</p>
<blockquote>
My previous post, <a href="http://funkatron.com/posts/the-microphp-manifesto.html">The MicroPHP Manifesto</a>, resulted in much excitement. In between fits of rage and crying, I found some time to answer folks questions, and also discuss the topic on the <a href="http://devhell.info/">/dev/hell podcast</a> with my cohost <A href="http://littlehart.net/">Chris Hartjes</a>. To summarize and address some of the common questions, I felt I should write a small FAQ.
</blockquote>
<p>Questions asked so far include:</p>
<ul>
<li>So you think full-stack frameworks suck?
<li>You need a large framework to enforce best practices!
<li>You should check out my microframework!
<li>How do you choose what gets listed in the <a href="http://microphp.org/code.html">MicroPHP code collection</a>?
<li>Why do you hate Rush?
</ul>
<p>
If you have a question you don't see listed, <a href="http://funkatron.com/contact.html">drop him a note</a> and he'll add to the post with more answers.
</p>]]></description>
      <pubDate>Wed, 08 Feb 2012 10:50:14 -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[Nelm.io Blog: Composer: Part 1 - What & Why]]></title>
      <guid>http://www.phpdeveloper.org/news/17239</guid>
      <link>http://www.phpdeveloper.org/news/17239</link>
      <description><![CDATA[<p>
On the Nelm.io blog today there's a new post (part one of a series) about <a href="http://nelm.io/blog/2011/12/composer-part-1-what-why/">using Composer and Packagist to manage PHP applications</a> as packages.
</p>
<blockquote>
You may have heard about <a href="https://github.com/composer/composer">Composer</a> and <A href="http://packagist.org/">Packagist</a> lately. In short, Composer is a new package manager for PHP libraries. Quite a few people have been complaining about the lack of information, or just seemed confused as to what it was, or why the hell we would do such a thing. This is my attempt at clarifying things.
</blockquote>
<p>
The briefly explains what the tool(s) do and shows how to set up the configuration on both sides - Composer to manage the packages and the package definition configurations (including meta about the project and any dependencies). He also answers several "why" questions about the need for a package manager, using this versus PEAR, the choice of JSON for config definition and a current status of the project.
</p>]]></description>
      <pubDate>Fri, 09 Dec 2011 13:14:34 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPMaster.com: Charting with pChart]]></title>
      <guid>http://www.phpdeveloper.org/news/17209</guid>
      <link>http://www.phpdeveloper.org/news/17209</link>
      <description><![CDATA[<p>
On PHPMaster.com today there's a new post highlighting the <a href="http://phpmaster.com/charting-with-pchart/">use of pChart</a> to graph out the data from your PHP application. <a href="http://www.pchart.net/download">pChart</a> provides an easy interface to draw graphs with GD, supporting alpha transparency, shadowing, spline/cubic curves and much more.
</p>
<blockquote>
Created and maintained by Jean-Damien Pogolotti, a systems engineer based in Toulouse, France, pChart is a library that creates anti-aliased charts and graphs using PHP. It's object-oriented code has been recently redesigned and makes it easy to add beautiful, eye-catching data. The library is free for non-profit use and for inclusion in GPL distributed software; licensing plans for other uses start at just 50 Euro. In this article I'll take you through installing pChart and using it to generate a basic chart, line chart and plot graph.
</blockquote>
<p>
He walks you through the <a href="http://www.pchart.net/download">download</a> and installation of the tool as well as showing the code you'll need to include to get started with a first script. Their examples show how to create both single- and three-series charts with some sample data and some <a href="http://cdn.phpmaster.com/files/2011/10/pchart-011.png">screenshots</a> <a href="http://cdn.phpmaster.com/files/2011/10/pchart-021.png">of</a> <a href="http://cdn.phpmaster.com/files/2011/10/pchart-041.png">output</a>.
</p>]]></description>
      <pubDate>Mon, 05 Dec 2011 08:50:07 -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>
  </channel>
</rss>

