<?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, 19 May 2013 08:52:34 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[PHPMaster.com: REST - Can You do More than Spell It? Part 4]]></title>
      <guid>http://www.phpdeveloper.org/news/17981</guid>
      <link>http://www.phpdeveloper.org/news/17981</link>
      <description><![CDATA[<p>
PHPMaster.com has posted the latest tutorial in their series covering RESTful APIS - <a href="http://phpmaster.com/rest-can-you-do-more-than-spell-it-4/">part four</a> of "REST - Can you do More than Spell it?" In this latest part of the series, they focus on something very key to RESTful services, the HTTP spec (and headers).
</p>
<blockquote>
We're getting close to the end now, and the only thing remaining is to discuss a little more about the protocol you'll most likely use in any RESTful application that you write. Because HTTP is so often used with REST, that's the protocol I'd like to focus on.
</blockquote>
<p>
He goes through the structure of a typical (raw) HTTP header and talks about some of the more common headers and what actions/settings they represent. He includes examples of setting headers (with <a href="http://php.net/header">header</a>, naturally) and a <a href="http://php.net/curl">curl</a> example showing how to set the request headers. The tutorial is finished off with a brief mention of custom HTTP headers and the the good and bad that comes with them.
</p>]]></description>
      <pubDate>Mon, 21 May 2012 08:44:26 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPMaster.com: Zend Job Queue]]></title>
      <guid>http://www.phpdeveloper.org/news/17388</guid>
      <link>http://www.phpdeveloper.org/news/17388</link>
      <description><![CDATA[<p>
In <a href="http://phpmaster.com/zend-queue/">this most recent post</a> to PHPMaster.com <i>Alex Stetsenko</i> takes a look at the Zend Job Queue functionality, a part of the <a href="http://www.zend.com/products/server/">Zend Server</a> installation. He talks about some basic usage to make HTTP requests and a more extended example showing report generation.
</p>
<blockquote>
Web applications usually follow a synchronous communication model. However, non-interactive and long-running tasks (such as report generation) are better suited for asynchronous execution. One way to off-load tasks to run at a later time, or even on a different server, is use the Job Queue module available as a part of Zend Server 5 (though not as part of the Community Edition). Job Queue allows job scheduling based on time, priority, and even dependencies
</blockquote>
<p>
In his two examples, he shows the code involved to create a new Queue object and define a HttpJob in it. The first just calls a "sample.php" script that's exposed as a part of your external-facing site and shows how you can get the current status of the job. The more advanced example shows a call to a "report.php" script with a set of options defining things like "type", "length" and "priority". He also points out some other options that can do similar things like <a href="http://gearman.org/">Gearman</a>, <a href="http://nodejs.org/">NodeJs</a> and <a href="http://www.rabbitmq.com/">RabbitMQ</a>.
</p>]]></description>
      <pubDate>Fri, 13 Jan 2012 08:37:31 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPBuilder.com: Harness the Scripting Power of PHP and cURL to Update Facebook]]></title>
      <guid>http://www.phpdeveloper.org/news/15916</guid>
      <link>http://www.phpdeveloper.org/news/15916</link>
      <description><![CDATA[<p>
On PHPBuilder.com today there's a new article from <i>Marc Plotz</i> looking at how you can use <a href="http://www.phpbuilder.com/columns/curl-facebook/marc_plotz02152011.php3">PHP and cURL with Facebook</a> to update your status.
</p>
<blockquote>
You probably know that cURL is a wonderful tool for extracting data from a Web page -- that's a given if you are a developer worth your salt. However, in this article, I want to show you how to use cURL to do things for you. We will start by exploring cURL in detail and then move on to use a very cool script to update our Facebook status.
</blockquote>
<p>
He introduces cURL for those that aren't familiar with it already (including how to tell if it's installed) and some basic code to show a GET request on a remote file. Things get a little more complicated from there - you'll need to set up some cookies for Facebook, use some regular expression matching to find the form to submit to and send the POST data correctly for the update. 
</p>]]></description>
      <pubDate>Wed, 16 Feb 2011 13:30:19 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[PEAR Blog: PEAR in August]]></title>
      <guid>http://www.phpdeveloper.org/news/14961</guid>
      <link>http://www.phpdeveloper.org/news/14961</link>
      <description><![CDATA[<p>
On the PEAR blog there's <a href="http://blog.pear.php.net/2010/08/14/pear-in-august/">a new post</a> updating you on some of the happenings with the PHP packaging tool recently.
</p>
<blockquote>
We've been fairly quiet, launching <A href="http://pear2.php.net/">pear2 and pyrus</a> into the line up, welcoming new faces to the QA team, <a href="http://pear.php.net/user/jespino">Jesus Espino</a>, and getting ready to call an election for the new <a href="http://pear.php.net/group/">pear group</a>.
</blockquote>
<p>
They also mention several package releases (including updates to <a href="http://pear.php.net/package/Net_DNS">Net_DNS</a> and <a href="http://pear.php.net/package/Services_Twitter">Services_Twitter</a>) and a call for contributions from anyone out there by working on <a href="http://test.pear.php.net/unit-test-results/deprecated.txt">deprecated code</a>, <a href="http://test.pear.php.net/unit-test-results/">unit tests</a> or even just <a href="http://pear.php.net/bugs/search.php?search_for=&boolean=0&limit=30&order_by=id&direction=DESC&cmd=display&status=Open&bug_type=All&php_os=&packagever=&phpver=&assign=&maintain=&author_email=&bug_age=0&bug_updated=0">bug reports</a>.
</p>]]></description>
      <pubDate>Mon, 16 Aug 2010 08:32:56 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[NETTUTS.com: Diving into the Twitter API ]]></title>
      <guid>http://www.phpdeveloper.org/news/14265</guid>
      <link>http://www.phpdeveloper.org/news/14265</link>
      <description><![CDATA[<p>
In a new tutorial from NETTUTS.com today <i>Siddharth</i> gives you <a href="http://net.tutsplus.com/tutorials/other/diving-into-the-twitter-api/">a guided tour</a> through some of the Twitter API and includes code - Javascript and PHP (using cURL) - you can use to access it.
</p>
<blockquote>
As we move towards the social web and mashups, a good API is not a nice addition anymore: it is downright necessary. And remember, too much abstraction is never a good thing. While there are a number of API kits out there to simplify working with the API in question, wouldn't it be cool to know what is actually going on under the hood? Wouldn't it be exciting to deconstruct the actual voodoo going on between the kit and the API? Yeah, I thought so! 
</blockquote>
<p>
He covers the three different Twitter APIs, the REST, search and stream APIs but focuses on using the REST method to pull out the information you need. The code examples show you how to get your own latest status, update your current status and use the <a href="http://search.twitter.com">search.twitter.com site</a> to find tweets matching your search term and pull them back as a JSON message.
</p>]]></description>
      <pubDate>Tue, 30 Mar 2010 08:57:16 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Matt Curry's Blog: Adding Ajax Panels to the CakePHP Status Plugin]]></title>
      <guid>http://www.phpdeveloper.org/news/13059</guid>
      <link>http://www.phpdeveloper.org/news/13059</link>
      <description><![CDATA[<p>
<i>Matt Curry</i> has <a href="http://www.pseudocoder.com/archives/2009/08/13/adding-ajax-panels-to-the-cakephp-status-plugin/">this recent post</a> looking at the CakePHP Status plugin he's developed and how to add in a custom Ajax-powered panel.
</p>
<blockquote>
<a href="http://www.pseudocoder.com/archives/2009/08/06/adding-custom-panels-to-the-cakephp-status-plugin">Last time we made a simple panel</a> that showed the last 10 users that signed up for you web app. [...] This time we'll do a panel that shows the number of sign ups based on a time frame. We'll add a drop down that let's you select day, week, month or year and it'll show a breakdown of new users for that period. The updates will use ajax.
</blockquote>
<p>
He includes the code to create the element, set up the javascript to interface with the backend and the PHP to create the controller for it to interface with. His example grabs the most recent signups from his Users information.
</p>]]></description>
      <pubDate>Tue, 18 Aug 2009 07:50:29 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Matt Curry's Blog: Adding Custom Panels to the CakePHP Status Plugin]]></title>
      <guid>http://www.phpdeveloper.org/news/13017</guid>
      <link>http://www.phpdeveloper.org/news/13017</link>
      <description><![CDATA[<p>
<i>Matt Curry</i> has <a href="http://www.pseudocoder.com/archives/2009/08/06/adding-your-own-panels-to-the-status-plugin/">a new post</a> looking at adding additional functionality (custom panels) to his <a href="http://github.com/mcurry/status">CakePHP status dashboard</a> application.
</p>
<blockquote>
There are two different ways to add a panel '" using requestAction or Ajax. The general rule is if the panel is pretty fast to load and content is static use requestAction. If the panel takes some time or you want to be able to interact with it then use Ajax. For example, the logs panel uses requestAction since it's pretty quick to grab the log entries and you really don't need to interact with them. The Google Analytics panel, on the other hand, takes a few seconds to query the API and has options to change the timeframe, so it uses Ajax.
</blockquote>
<p>
New panels can either be made as a part of the application or as plugins and bundled for easy adding and removing. He shows how to write the controller and the element to interface with the CakePHP code. His example grabs the latest users created on his application.
</p>]]></description>
      <pubDate>Mon, 10 Aug 2009 09:46:59 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Zoe Slattery's Blog: PHP TestFest - one more month to go!]]></title>
      <guid>http://www.phpdeveloper.org/news/12603</guid>
      <link>http://www.phpdeveloper.org/news/12603</link>
      <description><![CDATA[<p>
<i>Zoe Slattery</i> has <a href="http://zoomsplatter.blogspot.com/2009/05/php-testfest-one-more-month-to-go.html">posted an update</a> about the TestFest events happening around the world and the contributions they've been making to the overall cause of getting PHP code coverage as complete as possible.
</p>
<blockquote>
Groups from all over the world have contributed 554 new tests for PHP since April 1st 2009. Of these, 327 have already been moved into PHP's CVS (thanks Felipe!). The results of running tests on a Linux 32 bit platform can be seen <a href="http://results.testfest.php.net/">here</a> (sorry about the colour scheme), the user groups who have contributed are also listed. We also run the tests on a 64 bit Linux platform <a href="http://testfest.php.net/displayresults.php">here</a>, but this only runs PHP5.3 and PHP5.2.
</blockquote>
<p>
She's also run some complete code coverage tests (after fighting a bit with ccache and lcov) and came up with a two percent increase overall (including a huge jump in the ext/ldap extension's coverage from about nine percent up to almost ninety percent!) 
</p>]]></description>
      <pubDate>Mon, 01 Jun 2009 12:05:12 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Community News: Debug Bar for Zend Framework - Scienta]]></title>
      <guid>http://www.phpdeveloper.org/news/12233</guid>
      <link>http://www.phpdeveloper.org/news/12233</link>
      <description><![CDATA[<p>
<i>Joakim Nygard</i> has come up with a debug bar similar to ones found in <a href="http://cakephp.org">other frameworks</a> for the <a href="http://framework.zend.com">Zend Framework</a> - the <a href="http://jokke.dk/software/scientadebugbar">Scienta ZF debug bar</a>.
</p>
<blockquote>
The Scienta ZF Debug Bar is a plugin for the <a href="http://framework.zend.com/">Zend Framework</a> for PHP5. It provides useful debug information displayed in a small bar at the bottom of every page. Time spent, memory usage and number of database queries are presented at a glance. Additionally, included files, a listing of available view variables and the complete SQL command of all queries are shown in separate panels (shown configured with 2 database adapters):
</blockquote>
<p>
You can check out an <a href="http://jokke.dk/media/2009-scienta_debugbar.png">example setup here</a> [png] and get the full installation instructions and latest downloads from <a href="http://jokke.dk/software/scientadebugbar">the project's page</a>.
</p>]]></description>
      <pubDate>Mon, 30 Mar 2009 10:21:48 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Padraic Brady's Blog: Zend Framework: Surviving The Deep End, Chapter 3 - The Model Available]]></title>
      <guid>http://www.phpdeveloper.org/news/11737</guid>
      <link>http://www.phpdeveloper.org/news/11737</link>
      <description><![CDATA[<p>
<i>Padraic Brady</i> has posted <a href="http://blog.astrumfutura.com/archives/379-Zend-Framework-Surviving-The-Deep-End,-Chapter-3-The-Model-Available.html">the third chapter</a> of his "Zend Framework: Surviving The Deep End" book. It focuses on the Models in the Model-View-Controller (MVC) applications.
</p>
<blockquote>
Today Chapter 3, The Model, has entered the online book. Apart from some early jitters when PHPIDS (an intrusion detection system I use) lost the plot and commenced a vendetta against Opera, the new chapter is fully operational.
</blockquote>
<p>
If you get these first chapters, you'll notice that there's some color coding going on with status labels. <i>Padraic</i> is using this to give you some feedback as to the level of completion a certain chapter is in. He notes:
</p>
<blockquote>
I've decided to start noting in these announcements that these early Chapters are akin to drafts. While they are written as complete units, it's intended to revisit them every few weeks for improvement until a final version emerges to be forever immortalised as a first edition of the book.
</blockquote>]]></description>
      <pubDate>Wed, 14 Jan 2009 08:41:58 -0600</pubDate>
    </item>
  </channel>
</rss>
