WorkingSoftware.com.au: Something Like Threading- PHP Process Forking & Interprocess Communication
530573
New from Iain Dooley on the Working Software website today is his look at working with threading in PHP including forking and communication between the processes.   I recently wrote a little application that dumps a file across a forwarded port. [...] So when I first wrote it, I didn't know what I was doing and had never written socket code before, so it was a big procedural mess. Naturally I was keen to separate out my socket class into it's own package but this presented a problem: the controlling process needed to check the status but how could I decouple the process that instantiated the socket class from the socket code itselfî   So, he set about working up his class, hitting a few barriers along the way:   Copy On Write issues with how PHP handles the variable for the forked process Interprocess Communication using Sockets using the socket_create_pair function a "Curious Interlude" about why you can share sockets between two processes   There's a example of it in action - a setup with a child process that's all set to count up and respond back with the current number to the managing script.
289577
On the Developer Tutorials site today, there's a new tutorial posted that walks you through some of the useful features that PHP's CLI functionality can bring to your system administration.   In this tutorial, I'll show you how to use PHP-CLI, the command line interface for PHP, to get your maintenance under control using the technologies you're already familiar with. I'll also examine some of the By the time you've finished this tutorial, you'll be able to build human-assisted backup systems, automatic report generators.   It's a pretty basic introduction that talks about what the CLI environment is and what sorts of things PHP brings to the table. They include some sample scripts to do things like database cleanup and a method for taking in human interaction via the command line.
144022
A few more of the International PHP Conference slides have surfaced for your enjoyment:  Sandro Zic - A comparison of PEAR Installer, Phing, and ZZ/OSS Installer alan@akbkhome.com - PEAR and PHP 5 (blog entry)
305676
Raphael Stolt has posted a book review of one of Manning Publishing's PHP-related books, "PHP in Action: Modern Software Practices for PHP".   Over the last few days I got the chance to skim through the upcoming Manning release "PHP in Action: Modern Software Practices for PHP" by Dagfinn ReiersÃ¸l et al. The reviewed book is seperated into four main parts, covering lots of interesting topics in a good and fluent writing style.   Raphael outlines the book, mentioning the four parts the book is divided up into:  Basic PHP tools and concepts Developing applications via Test Driven Development Web presentation and user interfaces Object-oriented development including things like database abstraction  Raphael gives the book a positive rating and recommends it for anyone that has the basics down and is looking to extend their knowledge that much more.
428926
From UnixReview.com, there's a handy guide to functionality that PHP supports to help you get a handle on things like multiple socket requests - multi-tasking in PHP.    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.   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:    They give an example of one way to fetch information from multiple sources normally (concurrent socket requests) to provide the "low level". They then show an example 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.
759924
Chris Hartjes is taking on what he calls his "next foolish project" - a console for the CakePHP framework.   On the CakePHP mailing list, somebody familiar with Ruby on Rails' console functionality asked "why isn't there one of these in Cake?" [...] So I got to thinking about how to do this. On the surface, it seems the easiest way to do this is to write a PHP script that takes entries on the command line, run the input through an 'eval' statement. Sounds easy enough, and I could write that in a hurry. I think the trickiness comes in figuring out how to hook it into CakePHP so that you can access Models that already exist.   For those attending the Vancouver PHP Conference, attend his talk and you might get  amention of how far he's come with the idea. Otherwise, stay tuned to his blog for updates.
23151
Here's what was popular in the PHP community one year ago today:PHPClasses.org: File upload progress meter for PHP 4, at last!Zend Developer Zone: Zend Framework Preview Release 0.6.0 AnnouncedIBM developerWorks: Generate Flash movies on the fly with PHPMike Bernat's Blog: Creating a Simple Registration Script using PHPphp|architect: An overview of the CakePHP frameworkPHPBuilder.com: Reading RSS feeds in PHP: Part 2The Bakery Blog: SwiftMailer Component TutorialPHP-GTK Community Site: Merry Christmas (A Holiday Widget)Ben Ramsey's Blog: Installing the Eclipse PHP IDEZend Developer Zone: Zend Studio 5.5 WalkthroughCommunity News: Vancouver PHP Conference 2007Edin Kadribasic's Blog: BenchmarksJSLabs Blog:  phpBB 3...is it worth the wait?Christopher Jones' Blog: Installing Oracle XE on Ubuntu with PHPChris Chabot's Blog: phpSocketDaemon
331870
DevShed continues their look at standalone PHP scripts (server-side scripting, not on the web) in part two, "Managing Standalone Scripts in PHP" excerpted from the book "Advanced PHP Programming" from George Schlossnagle.   Last week, we began our discussion of PHP standalone scripts. This week, we'll be talking about child processes, shared resources, signals, and writing daemons.   They jump right in, going first for a look at forking off child processes from the script using the pcntl functionality you'll need to build into PHP. Resource management is key to working with server scripts, and they show you how to close them out when you're through. Next up is a brief look at the types of signals that you can send to the child processes, and some good rules to follow for writing daemons in PHP.
712717
Picking back up on his blog, Sean Coates shares a Dashboard widget he's created to do quick and dirty PHP interpreting on the fly:   I found myself using php -r on the command line to test some simple code snippets, and it occurred to me that this isn't "The Mac Way." So, following the excellent documentation at Apple, I managed to come up with something pretty useful in an afternoon.   His widget sits happily, ready to take in PHP code and output the result at the click of a button.
48914
Sean Coates has created a simple version of a popular bit of Perl functionality and shares the code in hi slatest post - the "pie" ability to perform a search and replace, line by line, through a file using a regular expression.   I've often found myself looking for a PHP equivalent. Not to do simple substitutions, of course, but complex ones. And since I'm most comfortable with PHP, and a I have a huge library of snippets that I can dig out to quell a problem that I may have solved years ago, I've been meaning to fill this void for a while.   So, one evening, he came home and hashed out this version of the script. He includes the code in the post...it works on the command line and pulls in a file (though STDIN) and loops through the buffered version to perform the regex replace.
464596
PHP isn't exclusively for Web pages. You can use it like Perl for cron jobs and other tasks.
396172
Alexey Zakhlestin gave a talk for the PHPThinktank IRC channel recently on the topic of YAML, PHP, and some of the work that he's done combining the two.   It happened a bit of spontaneously, so noone was invited. It was my first try, to make introduction to yaml for php prgrammers, and if there is more interest I will give another talk which will cover more details, this time with proper scheduling :)   You can check out the log of the discussion for his entire talk (covering topics like what YAML is, where to get more information on it, some of its features, and a mention of the Syck library for parsing it).
437494
Popular posts from PHPDeveloper.org for the past week:PHPClasses.org: A PHP killer feature - Streams abstractionRob Thompson's Blog: Switch vs. IfPHPEverywhere: Octopussy numbers in PHPJob Posting: MODE Visual Seeks PHP Developer (Charlotte, NC)ProDevTips.com: Why PHP as a templating language sucksMatthew Turland's Blog: The Yin and Yang of TypingStubbles Blog: Stubbles 0.5.0 releasedChristopher Jones' Blog: Updated connection pooling in PHP's OCI8 extensionBen Ramsey's Blog: Congrats Costa Rica PHP!Carsten Lucke's Blog: Configuration issues with Xdebug on Debian Etch
188665
The PHP Community is buzzing about a new article, posted on the O'Reilly Ruby blog, about how the author (Derek Silvers of cdbaby.com) made the decision that Ruby on Rails just wasn't right for the project he was working on.    Back in January 2005, I announced on the O'Reilly blog that I was going to completely scrap over 100,000 lines of messy PHP code in my existing CD Baby  website, and rewrite the entire thing in Rails, from scratch. [...] The first few months showed good progress, and Jeremy could not have been more amazing, twisting the deep inner guts of Rails to make it do things it was never intended to do.   But at every step, it seemed our needs clashed with Rails' preferences. (Like trying to turn a train into a boat. It's do-able with a lot of glue. But it's damn hard. And certainly makes you ask why you're really doing this.)    Recounting the rest of the story, Derek mentions the turning point ("Is there anything Rails can do that PHP CAN'T do?") and the speed at which they were able to make up for the two years of lost development time. To helps others make a decision for their project, he also includes seven reasons why he made the decision to switch back, including:   Our entire company's stuff was in php: don't underestimate integration Don't want what i donÃ¢ÂÂt need I love SQL Programming languages are like girlfriends: the new one is better because *you* are better   There's also been several bloggers in the PHP community that have responded to the article:   Elizabeth Naramore - "Derek Sivers' Article on RoR vs PHP" Paul Jones - "Is there anything Rails can do that PHP cannot do? *No.*" Terry Chay - "Why PHP triumphs over Ruby" Jeff Moore - "Ruby versus PHP or There and Back Again"
336483
Here's what was popular in the PHP community one year ago today:Christopher Jones' Blog: Review: PHP Web ProgrammingCommunity News: PHP Conference BrasilWebReference.com: Creating a Custom RSS Feed with PHP and MySQLThe Shadow Fox Network: Create Dynamic URLs With Mod_Rewrite and PHP FunctionsJoshua Eichorn's Blog: Official WebThumb Contest rules publishedDevshed: PHP EmailHowTo Forge: Installing A LAMP System With Fedora Core 6ThinkPHP Blog: Oracle with PHP and PDODevShed: Creating an Administration Area for a Simple Threaded Discussion ForumDevShed: Setting up the Foundation for an Extensible Website Engine with PHP 5PHPBuilder.com: PEAR's HTML_QuickFormAndi Gutmans' Blog:  PHP and Database Connection PoolingInternational PHP Magazine: Poll Question: The Biggest Advantage of PHP 5 is?Greg Beaver's Blog: PhpDocumentor 1.3.1 is releasedAlexander Netkachev's Blog: Practical PHP events
756797
Here's what was popular in the PHP community one year ago today:PHP-Tools Blog: New releases of patTemplate and patFormsPrism-Perfect.net: PHP Tag Cloud TutorialPHPit.net: Building a simple MVC system with PHP5Alan Knowles' Blog: Code Reviewing.Nefarious Designs: Object-Oriented PHP Part 1: DefinitionWaxJelly Blog: Using PHP to make a MySQL "abstraction layer"php|architect: Introduction to PHPUnitNefarious Designs: Object-Oriented PHP Part 2: RelationshipsJohn Mertic's Blog: PHP Windows Installer updated for PHP 5.2.0RC2 and moreDevShed: Reading, Writing and Creating Files in PHPPHPKitchen: Seagull 0.6.0 ReleasedThinkPHP Blog: Make the download of large files with PHP (and lighty) very easyPeter Goodman's Blog: Observers and DispatchersRyan Malesevich's Blog: WP Plugins: WP-ChunkPHP.net: PHP 5.1.6 Released
197002
On the SitePoint PHP blog today, Troels Knak-Nielsen has written up an article that talks about dependencies in your applications - those little interconnections your code relies on to do more with less.   In lack of better words, I'll call this compositional programming style. It's a style which is usually more prevalent with experienced programmers. [...] There is, however, a dark side to composition - dependencies.   He starts with a definition to bring everyone up to a level field then moves on to how their used (through a "global symbol" or directly passed in) and how they can "leak" if you're not careful.    To help protect you and your code from any kind of damage down the line, Troels suggests making a container to keep objects where they need to be. He even includes an example with namespace support to make things even easier down the road.