<?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>Fri, 08 Aug 2008 16:11:24 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Davey Shafik's Blog: PHP Streams Book (Coming soon!)]]></title>
      <guid>http://www.phpdeveloper.org/news/10043</guid>
      <link>http://www.phpdeveloper.org/news/10043</link>
      <description><![CDATA[<p>
We can expect <a href="http://pixelated-dreams.com/archives/351-PHP-Streams-Book-Coming-soon!.html">big things</a> from <i>Davey Shafik</i> in the coming months - he's been working on a book for <a href="http://www.phparch.com">php|architect</a> about one of the more powerful bits of functionality in PHP - streams.
</p>
<blockquote>
For about 6 months now, I've been itching to write a book on the PHP Streams Layer - one of my favorite features of PHP; and also one of the least known considering it's powerful abilities.
</blockquote>
<p>
He describes his goal simply as this: to create the definitive resource for working with the streams later in PHP. It should be out sometime in the third quarter of 2008, so keep your eye out for it then.
</p>]]></description>
      <pubDate>Fri, 25 Apr 2008 12:04:09 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Matthew Turland's Blog: Interesting Bug in the HTTP Streams Wrapper]]></title>
      <guid>http://www.phpdeveloper.org/news/9965</guid>
      <link>http://www.phpdeveloper.org/news/9965</link>
      <description><![CDATA[<p>
<i>Matthew Turland</i> has come across an <a href="http://ishouldbecoding.com/2008/04/10/interesting-bug-in-the-http-streams-wrapper">"interesting bug"</a> in PHP's stream wrappers functionality - some strange 404 or 500 HTTP errors in one of his scripts.
</p>
<blockquote>
I wrote a <a href="http://ishouldbecoding.com/2008/04/user/files/pastebin.phps">small script</a> a while back that's gained a surprising amount of popularity thanks to a plug from the site that it posts to. [...] I learned that this [connection from the script] could be done with streams, I attempted to implement it in that fashion, but ran into strange issues where I would get 404 or 500-level HTTP errors rather than the response I was expected.
</blockquote>
<p>
He eventually found <a href="http://bugs.php.net/bug.php?id=44603">the bug</a> related to his problem (in the 5.2.x branch) but happily notes that it has been corrected and will be patched in the upcoming 5.3 (and 6) branches.
</p>]]></description>
      <pubDate>Mon, 14 Apr 2008 08:49:04 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPClasses.org: A PHP killer feature - Streams abstraction]]></title>
      <guid>http://www.phpdeveloper.org/news/9552</guid>
      <link>http://www.phpdeveloper.org/news/9552</link>
      <description><![CDATA[<p>
On the PHPClasses.org website there's a <a href="http://www.phpclasses.org/blog/post/74-A-PHP-killer-feature--Streams-abstraction.html">new entry</a> covering, among other things, one handy feature PHP includes to let developers read and write their data more flexibly - <a href="http://us.php.net/stream">streams</a>.
</p>
<blockquote>
This article explains what are stream handlers and how they simplify PHP developers lives by allowing PHP applications to easily read and write data from containers, like remote Web pages or e-mail messages, as if they were files. [...] The article also presents more examples of cool stream handlers classes submitted to the PHPClasses site by several authors.
</blockquote>
<p>
He <a href="http://www.phpclasses.org/blog/post/74-A-PHP-killer-feature--Streams-abstraction.html">describes</a> the abstraction that the streams interface allows, how they can make your life easier, a real-life example of streams in action (working with POP3) and some of the classes that have been contributed to PHPClasses.org that use them.
</p>]]></description>
      <pubDate>Fri, 01 Feb 2008 15:36:24 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Zend Developer Zone: PHP Abstract Podcast Episode 34: Streams Abstraction]]></title>
      <guid>http://www.phpdeveloper.org/news/9542</guid>
      <link>http://www.phpdeveloper.org/news/9542</link>
      <description><![CDATA[<p>
The Zend Developer Zone has posted <a href="http://devzone.zend.com/article/3049-PHP-Abstract-Podcast-Episode-34-Streams-Abstraction">episode 34</a> of their PHP Abstract podcast series from <i>Manuel Lemos</i> covering the abstraction of steams in a PHP application.
</p>
<blockquote>
Today's special guest is Manuel Lemos of phpclasses.org Manuel is from Portugal and currently lives in Brazil where he works full-time on PHPClasses.org that he created in 1999. Today, Maunel is going to talk to us about Streams Abstraction.
</blockquote>
<p>
Grab it in one of the usual three ways - <a href="http://devzone.zend.com/article/3049-PHP-Abstract-Podcast-Episode-34-Streams-Abstraction">listen on the page</a>, download the <a href="http://s3.amazonaws.com/php.abstract.2008/php_abstract_episode_034.mp3">mp3</a> or subscribe to <a href="http://feeds.feedburner.com/phpabstract">feed</a> for the show. Also, be sure to check out some of the other episodes listed <a href="http://devzone.zend.com/article/3049-PHP-Abstract-Podcast-Episode-34-Streams-Abstraction">at the bottom</a> of the post for lots of other great content.
</p>]]></description>
      <pubDate>Fri, 01 Feb 2008 08:33:00 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Ligaya Turmelle's Blog: Streams Gem]]></title>
      <guid>http://www.phpdeveloper.org/news/8669</guid>
      <link>http://www.phpdeveloper.org/news/8669</link>
      <description><![CDATA[<p>
<i>Ligaya Turmelle</i> shine up and shows off a streams gem that she rediscovered - a simple method of sending a POST request and getting it's response:
</p>
<blockquote>
Was reminded today of a gem from the streams extension - sending a POST message and getting its results. We could do it using cURL or sockets - but why work that hard. Being lazy does have its advantages after all.
</blockquote>
<p>
The <a href="http://www.khankennels.com/blog/index.php/archives/2007/09/17/streams-gem/">example she includes</a> is one from the manual, showing how to take the array of data and push it out to the remote site with a few simple calls (including stream_context_create).
</p>]]></description>
      <pubDate>Mon, 17 Sep 2007 19:05:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Davey Shafik's Blog: PHP Streams Rock my World!]]></title>
      <guid>http://www.phpdeveloper.org/news/8641</guid>
      <link>http://www.phpdeveloper.org/news/8641</link>
      <description><![CDATA[<p>
<i>Davey Shafik</i> has gotten <a href="http://pixelated-dreams.com/archives/319-PHP-Streams-Rock-my-World!.html">more than a little excited</a> by the streams functionality in his latest blog post:
</p>
<blockquote>
PHP streams are absolutely amazing. As mentioned by Elizabeth Smith (a great read if you don't know how to use streams) PHP streams are super powerful. Streams is something that is (to my knowledge) unique to PHP. The closest thing I've seen to it, is Linux's FUSE "user space" (i.e. not kernel module) file systems.
</blockquote>
<p>
He <a href="http://pixelated-dreams.com/archives/319-PHP-Streams-Rock-my-World!.html">shows an example</a> of a stream in action and suggests an interface he'd like to see - an automatic connection to the Amazon S3 storage.
</p>]]></description>
      <pubDate>Wed, 12 Sep 2007 14:14:12 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Nexen.net: PHPInfo() Stats - Part 2]]></title>
      <guid>http://www.phpdeveloper.org/news/6748</guid>
      <link>http://www.phpdeveloper.org/news/6748</link>
      <description><![CDATA[<p>
<i>Damien Seguy</i> has continued his series looking at PHP configurations around the web and is sharing the results in the form of two <a href="http://www.nexen.net/articles/dossier/phpinfos_stats_:_part_2.php">new</a> <a href="http://www.nexen.net/articles/dossier/php_configuration_statitstics.php">reports</a> over on Nexen.net.
</p>
<blockquote>
I just published the second part of the serie about PHP configurations.
This part focuses on three aspects of PHP: PHP extensions, PHP streams, and disabled functions.
</blockquote>
<p>
You can find the statistics themselves <a href="http://www.nexen.net/articles/dossier/phpinfos_stats_:_part_2.php">here</a> and the latest configuration statistics <a href="http://www.nexen.net/articles/dossier/php_configuration_statitstics.php">here</a>. It's interesting to see the drop-off when it comes to the various modules that are installed ("php, ftp and http are the most common. Besides them, tough luck.") and to see the somewhat more gradual curve of which functions are disabled - with system() topping out the list (with good reason).
</p>]]></description>
      <pubDate>Tue, 21 Nov 2006 10:51:00 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Zend Developer Zone: 30 Minutes With Wez Furlong]]></title>
      <guid>http://www.phpdeveloper.org/news/6642</guid>
      <link>http://www.phpdeveloper.org/news/6642</link>
      <description><![CDATA[<p>
<i>Cal Evans</i> has posted yet another illustrious interview with a member of the PHP community - <a href="http://devzone.zend.com/node/view/id/1148">Wez Furlong</a>.
</p>
<blockquote>
The fun part about the whole OSCON interview series was that almost one half of the interviews I did worked at OmniTI. Here's is my interview with Wez Furlong. As with others from OmniTI, Wez Furlong proved to be a fascinating subject to talk to.
</blockquote>
<p>
They <a href="http://devzone.zend.com/node/view/id/1148">talk some</a> about <i>Wez</i>'s psat and how he got into PHP, what he's mainly working on now in the PHP core, some about streams and SQLite, Unicode in PHP6, and other questions.
</p>
<p>
He also finds out <i>Wez</i>'s answer to a question he asks all of his interviewees - what technology are they looking forward to the most for the future. Of course, you'll need to <a href="http://devzone.zend.com/node/view/id/1148">read the interview</a> to get that and the rest of the answers from this chat with <i>Wez Furlong</i>.
</p>]]></description>
      <pubDate>Sun, 05 Nov 2006 08:48:03 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[UnixReview.com: PHP Multi-tasks]]></title>
      <guid>http://www.phpdeveloper.org/news/6352</guid>
      <link>http://www.phpdeveloper.org/news/6352</link>
      <description><![CDATA[<p>
From UnixReview.com, there's <a href="http://www.unixreview.com/documents/s=9521/ur0609g/ur0609g.htm">a handy guide</a> to functionality that PHP supports to help you get a handle on things like multiple socket requests - multi-tasking in PHP.
</p>
<blockquote>
<p>
There's quite a bit more to tell, though, about PHP and concurrency. AJAX certainly boasts multi-tasking capabilities, and PHP supports AJAX about as well as the other Web languages support Ajax. An easy conclusion is that, by way of AJAX, therefore, PHP multi-tasks. However, common security, accessibility, and compatibility requirements prevent use of AJAX in many programs.
</p>
<p>
It's also true that PHP does not "support threads", as many observers put it. Even without AJAX, even without threads, there are still at least two distinct ways to achieve server-side multi-tasking with PHP. Let's look at how the language multi-tasks, and why:
</p>
</blockquote>
<p>
They give an example of one way to fetch information from multiple sources normally (concurrent socket requests) to provide the "low level". They then <a href="http://www.unixreview.com/documents/s=9521/ur0609g/ur0609g.htm">show an example</a> of how to use pcntl_fork, pcntl_exec, and streams support that can be built into PHP to create a three process function to grab the main pages (and status codes) from each of the sites in an array. 
</p>]]></description>
      <pubDate>Tue, 26 Sep 2006 07:38:07 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[DotVoid.com: PHP streams and http 1.1 gotcha]]></title>
      <guid>http://www.phpdeveloper.org/news/5031</guid>
      <link>http://www.phpdeveloper.org/news/5031</link>
      <description><![CDATA[If you work with streams in PHP, <i>Dotvoid</i> has a tip that just might come in handy some day in the future. <a href="http://www.dotvoid.com/view.php?id=58">The tip</a> deals with the difference between HTTP 1.1 and 1.0.
<p>
<quote>
<i>
I have a class that I wrote some time ago that is called URLImporter. It's simple, does what it is supposed to do and thus makes my life easier. Essentially it helps me fetch URL resources - mostly dynamically generated data from password protected extranets that require me to use HTTP POST.
<p>
Up until recently this class have only been used behind an http proxy. The other day I moved it to another machine - that is not behind a proxy and suddenly it stopped working.
</i>
</quote>
<p>
He realized the problem after a bit of research - HTTP 1.1 automatically performs a "keep alive" on the connection, not timing out after the transaction's done like 1.0 does. <a href="http://www.dotvoid.com/view.php?id=58">His solution?</a> Passing another HTTP header to the stream connection: "Connection: close".]]></description>
      <pubDate>Thu, 23 Mar 2006 06:52:50 -0600</pubDate>
    </item>
  </channel>
</rss>
