On PHPMaster.com today there's a new tutorial from Timothy Boronczyk about using the proc_open function to kick off processes outside of PHP. It can be used to start up and manage (in a limited fashion) external process calls.

There are many ways we can interact with other applications from PHP and share data; there’s web services, message queuing systems, sockets, temporary files, exec(), etc. Well, today I’d like to show you one approach in particular, proc_open(). The function spawns a new command but with open file pointers which can be used to send and receive data to achieve interprocess communication (IPC).

He starts off explaining one of the fundamental concepts behind working with processes - pipes, both anonymous and named. He then moves on to the use of proc_open and the three attributes it takes - command, pipes and references for output. He includes a more practical example showing it in use - a script that converts text with wiki markup into HTML output (via this tool).

On PHPBuilder.com today there's a new tutorial that takes a deeper look at shell scripting (continuing on from a previous article) with a focus on pipes and their use in simple PHP shell scripts.

This article covers some advanced uses of the language and shows some tricks that make PHP an extremely useful language to work with.
Unlike Darrel's article [here] however, this one will also cover the Windows version of PHP as well as the Linux/Unix one.

They compare the two operating environments, noting what can and can't be done in each before getting to some of the "neat things" that pipes let you do. They show who to read from stdin (making it easy to pass the results from another command in) and what you can do with the results. Near the end there's also a bit included showing how to do a similar thing on windows (with the help of an external tool).

Until now JSON output has been the only way to obtain all the data flowing through a Pipe. Starting today we've added a second way of getting all the data - serialized PHP Pipe output. [...] It's then up to you on how you want to display or use the Pipe data. The possibilities are endless.

If you haven't messed with Yahoo's Pipes system, you owe to it to yourself to at least go and play with it for a little bit.

Since the recent release of a new tool from Yahoo! - Yahoo! Pipes - developers have been working with it and creating their own "pipes" of functionality, already exploring the boundaries of the application. Clay Loveless is one PHP developer that has already created his own pipe to monitor feeds from several PHP extensions.

The first pipe I've created and published is the PHP Extension Monitor. It's an aggregated feed that pulls in release information on several cool extensions that arenâ€™t announced in the PECL feed, such as Suhosin, XCache and DBXML.

Check out his pipe here or you can go create your own by logging in with a Yahoo! ID here.

Since the recent release of a new tool from Yahoo! - Yahoo! Pipes - developers have been working with it and creating their own "pipes" of functionality, already exploring the boundaries of the application. Clay Loveless is one PHP developer that has already created his own pipe to monitor feeds from several PHP extensions.

The first pipe I've created and published is the PHP Extension Monitor. It's an aggregated feed that pulls in release information on several cool extensions that arenâ€™t announced in the PECL feed, such as Suhosin, XCache and DBXML.

Check out his pipe here or you can go create your own by logging in with a Yahoo! ID here.