<?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 20:40:31 -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[Monitor.us Blog: Website Performance: PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/17721</guid>
      <link>http://www.phpdeveloper.org/news/17721</link>
      <description><![CDATA[<p>
On the Monitor.us blog there's a <a href="http://blog.monitor.us/2012/03/website-performance-php/">recent guide to performance tuning your PHP</a> with sections on lots of topics, some related directly to the code and others more towards the environment it lives in.
</p>
<blockquote>
The World-Wide Web offers more PHP performance tips than can be comfortably discussed in one article, so the following is merely a list that can be used for reference purposes. The tips are divided into categories to group similar things together and make it easier to find what we need. The author's search for tips was extensive, but completeness still cannot be guaranteed.These tips fall into category #3.1 (the server executes a script) in the taxonomy of tips that we have been working with.Because of the sheer volume, these tips have not been tested. The reader is expected to test them in his own production environment before relying on them. This is not unreasonable, though, because the value of most tips depends on the unique environment within which PHP operates.
</blockquote>
<p>Sections in the guide include:</p>
<ul>
<li><a href="http://blog.monitor.us/2012/03/website-performance-php/#Cache">Caching</a>
<li><a href="http://blog.monitor.us/2012/03/website-performance-php/#Sessions">Session handling</a>
<li><a href="http://blog.monitor.us/2012/03/website-performance-php/#Compression">Compression</a>
<li><a href="http://blog.monitor.us/2012/03/website-performance-php/#MemLeaks">Memory Leaks</a>
<li><a href="http://blog.monitor.us/2012/03/website-performance-php/#Optimization">Code optimization</a>
<li><a href="http://blog.monitor.us/2012/03/website-performance-php/#Serv">Using services</a>
</ul>
<p>
Also included in the post are a <a href="http://blog.monitor.us/2012/03/website-performance-php/">list of links</a> that were references for the tips in the list..
</p>]]></description>
      <pubDate>Fri, 23 Mar 2012 09:54:24 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[A Cloudy Place: PHPFog and Pagoda Box: A Look at PHP Platforms]]></title>
      <guid>http://www.phpdeveloper.org/news/17645</guid>
      <link>http://www.phpdeveloper.org/news/17645</link>
      <description><![CDATA[<p>
On the "A Cloudy Place" blog there's <a href="http://acloudyplace.com/2011/12/phpfog-and-pagoda-box-a-look-at-php-platforms/">a recent post</a> comparing two of the more popular platform-as-a-service PHP offerings out there - <a href="http://phpfog.com">PHPFog</a> and <a href="http://pagodabox.com">PagodaBox</a>.
</p>
<blockquote>
Platform services like Heroku and AppEngine have been well-known for the last few years and many companies have been using them successfully in their business. They are more attractive to startups, due to low initial cost and smaller headaches involved in setup. 2011 was a great year for platform services, with the emergence of many platform services and a new trend for supporting multiple languages instead of supporting a single language. [...]  Here, I will go through two of the PHP platform services I have experimented with: PHPFog and Pagoda Box.
</blockquote>
<p>
He talks about each of the options and looks at several key elements of each including the deployment process, scalability, monitoring tools, offerings for caching and the database management utilities bundled with the application. Both services offer a "free instance" for you to try out their services, so give them both a try and see what you think.
</p>]]></description>
      <pubDate>Thu, 08 Mar 2012 09:29:45 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPMaster.com: Taking Advantage of PHP's Built-in Server]]></title>
      <guid>http://www.phpdeveloper.org/news/17644</guid>
      <link>http://www.phpdeveloper.org/news/17644</link>
      <description><![CDATA[<p>
On PHPMaster.com today there's a new tutorial for those on the bleeding edge of PHP using the latest released version (5.4) and a feature that comes with it - <a href="http://phpmaster.com/taking-advantage-of-phps-built-in-server/">using the built-in webserver</a> that comes bundled for testing purposes.
</p>
<blockquote>
One of the cooler features of the new PHP 5.4 release is a built-in web server designed specifically for development and testing. Now you can write and test your code without having to have a full-fledged LAMP configuration - just launch a the built-in server from the command line, test your code, and then shut it down when you're finished. [...] In this article I'll explain some basic uses of the new built-in server and show you how to build a portable personal development server useful for quickly testing your applications
</blockquote>
<p>
He starts with a look at how to start up the web server (a simple command line switch and host/port definition) and the resulting default <a href="http://php.net/phpinfo">phpinfo</a> page it displays. Other options include the ability to specify a document root for your server and create a sort of "front controller" for it to route requests. They show how to create a simple application based on this that can dynamically load in the index file, a router and pass the request off to the correct file. Their example includes some "niceties" too like logging, "hosts allowed" and checks for requesting directories.
</p>
<p>
You can find their full code for this example <a href="http://phpmaster.com/taking-advantage-of-phps-built-in-server">over on github</a>.
</p>]]></description>
      <pubDate>Thu, 08 Mar 2012 08:17:45 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Project: phpVirtualBox - VirtualBox Management Tool]]></title>
      <guid>http://www.phpdeveloper.org/news/17616</guid>
      <link>http://www.phpdeveloper.org/news/17616</link>
      <description><![CDATA[<p>
For those fans of virtualization (and running VMs for development) you're not stranger to <a href="http://www.virtualbox.org">VirtualBox</a>. Over on the Google Code site, there's a project that wants to make it easier to work with your VirtualBox instances via a PHP-driven interface.
</p>
<blockquote>
An open source, AJAX implementation of the <a href="http://code.google.com/p/phpvirtualbox/wiki/VirtualBox">VirtualBox</a> user interface written in PHP. As a modern web interface, it allows you to access and control remote <a href="http://code.google.com/p/phpvirtualbox/wiki/VirtualBox">VirtualBox</a> instances. Much of its verbage and some of its code is based on the (inactive) <a href="http://code.google.com/p/vboxweb/">vboxweb</a> project. phpVirtualBox was designed to allow users to administer <a href="http://code.google.com/p/phpvirtualbox/wiki/VirtualBox">VirtualBox</a> in a headless environment - mirroring the <a href="http://code.google.com/p/phpvirtualbox/wiki/VirtualBox">VirtualBox</a> GUI through its web interface.
</blockquote>
<p>
The tool isn't designed to be a management tool for a "hosting" type of environment, but rather to help you admin all of your VMs at once (no "ownership"). It uses the SOAP service (vboxwebsrv) that comes with VirtualBox servers to create a <a href="http://phpvirtualbox.googlecode.com/svn/wiki/images/phpvbsm.png">clean interface</a>.
</p>]]></description>
      <pubDate>Fri, 02 Mar 2012 08:25:16 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[php|architect: What Will Power the Future of the Internet: REST or SOAP? ]]></title>
      <guid>http://www.phpdeveloper.org/news/17599</guid>
      <link>http://www.phpdeveloper.org/news/17599</link>
      <description><![CDATA[<p>
On the php|architect site today there's <a href="http://www.phparch.com/2012/02/what-will-power-the-future-of-the-internet-rest-or-soap/">a new article</a> from <i>Luke Stokes</i> asking a question about the future of the web (and web serivces) - is the future in REST or SOAP?
</p>
<blockquote>
I was recently asked why we chose REST over SOAP for our re-write of the <a href="http://www.foxycart.com/">FoxyCart.com</a> API, and the short answer that immediately came to mind was, "Because I don't hate myself". To expand on that answer, let me give you a little bit of the back story.
</blockquote>
<p>
He talks about their goals for the product and its API, how they wanted to create something useful, built by developers for developers. They leaned towards REST mostly because of the problems and overhead introduced with SOAP (and the complex nature of its requests). He also gives a few reasons why he's "excited about REST": working with known data types, standard interface methods and the fact that it's still such a hot topic of discussion.
</p>
<blockquote>
These questions [about HATEOS, hypermedia, vendor-specific content types] might seem overwhelming, but for us they are exciting! We believe the future of consistent, powerful API development is being defined right now, and we get to be a part of it.
</blockquote>]]></description>
      <pubDate>Tue, 28 Feb 2012 12:16:17 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Dzone.com: A Free Amazon EC2 Cloud Server Based LAMP]]></title>
      <guid>http://www.phpdeveloper.org/news/17571</guid>
      <link>http://www.phpdeveloper.org/news/17571</link>
      <description><![CDATA[<p>
In <a href="http://java.dzone.com/articles/free-ec2-cloud-server-based-0">this new article</a> on DZone.com, <i>Artur Mkrtchyan</i> shows you how to get an Amazon EC2 instance up and running and get a LAMP server set up and ready to go.
</p>
<blockquote>
In this article I'm going to show you how to create a free Amazon EC2 cloud based LAMP Server and Point your domain to Amazon EC2 Instance. There are 4 simple steps to do.
</blockquote>
<p>
The setup process is pretty easy - getting an Amazon free account, creating a server from an existing image, installing the LAMP stack and pointing your domain at the EC2 instance. He gives a step-by-step guide of the process, including the commands you'll need to execute to get all of the LAMP packages installed.
</p>]]></description>
      <pubDate>Wed, 22 Feb 2012 10:42:17 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Lorna Mitchell's Blog: Building A RESTful PHP Server: Output Handlers]]></title>
      <guid>http://www.phpdeveloper.org/news/17478</guid>
      <link>http://www.phpdeveloper.org/news/17478</link>
      <description><![CDATA[<p>
<i>Lorna Mitchell</i> is back with another post in her "Building a RESTful PHP Server" series today with <a href="http://www.lornajane.net/posts/2012/building-a-restful-php-server-output-handlers">this new post</a> showing how to work with output handlers (her focus is on JSON).
</p>
<blockquote>
So far we've covered parsing requests to determine exactly what the user is asking for, and also looked at routing to a controller to obtain the data or perform the action required. This post gives examples of how to return the data to the client in a good way.
</blockquote>
<p>
She advocates using output handlers instead of the usual views you'd think of in a typical MVCish sort of application. The difference here is that there's not a lot of extra overhead to produce the results - it's literally an output directly from a class extending the base view (including the correct headers). She also briefly mentions the inclusion of <a href="http://en.wikipedia.org/wiki/JSONP">JSONP</a> functionality, allowing you to specify a local callback to execute when the request is returned. A few other "nice to haves" are also mentioned like the number of results returned and pagination support.
</p>]]></description>
      <pubDate>Wed, 01 Feb 2012 10:25:33 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Lorna Mitchell's Blog: PHP 5.4 Built In Webserver]]></title>
      <guid>http://www.phpdeveloper.org/news/17464</guid>
      <link>http://www.phpdeveloper.org/news/17464</link>
      <description><![CDATA[<p>
<i>Lorna Mitchell</i> has <a href="http://www.lornajane.net/posts/2012/php-5-4-built-in-webserver">posted a quick tutorial</a> about a feature of the upcoming PHP 5.4 release, the built-in web server, and some tips on doing things like routing requests and changing the hostname.
</p>
<blockquote>
One of the big features arriving with PHP 5.4 is the addition of a built-in basic webserver for use in development environments. Quite a few of the other scripting languages have something like this so I'm very pleased to see it in PHP. Using a server like this makes it easy to quickly try out some scripts without needing to configure apache or really do anything much! I had to look up a few things to get started, so I thought I'd write them down for posterity.
</blockquote>
<p>
She includes instructions on how to get the server up and running from the command line, updating the location of the document root with a command line option and using a simple "routing.php" script to act as a front controller. Changing the hostname is as simple as changing "localhost" to something else when starting the server. 
</p>]]></description>
      <pubDate>Mon, 30 Jan 2012 11:35:09 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Lorna Mitchell's Blog: Building A RESTful PHP Server: Routing the Request]]></title>
      <guid>http://www.phpdeveloper.org/news/17433</guid>
      <link>http://www.phpdeveloper.org/news/17433</link>
      <description><![CDATA[<p>
<i>Lorna Mitchell</i> is back with a second installment in her "Building a RESTful PHP Server" series with <a href="http://www.lornajane.net/posts/2012/building-a-restful-php-server-routing-the-request">this new post</a> about handling and routing the incoming requests. (You can find the first part about working with the request <a href="http://phpdeveloper.org/news/17418">here</a>)
</p>
<blockquote>
This is the second part of a series, showing how you might write a RESTful API using PHP. This part covers the routing, autoloading, and controller code for the service, and follows on from the first installment which showed how to parse the incoming request to get all the information you need.
</blockquote>
<p>
She shows how to grab the controller name from the incoming request (based on her previous code), create the object for it and execute the requested action name. Also included is a sample autoloader and a basic controller - a UsersController with "getAction" and "postAction" 
 methods for responding to GET and POST requests.
</p>]]></description>
      <pubDate>Mon, 23 Jan 2012 11:14:11 -0600</pubDate>
    </item>
  </channel>
</rss>

