Mike Lively's Blog: PHPDBUnit - Testing DB interaction with PHPUnit
450911
Mike Lively shares some info about a project he's been working on in a new post to his blog today - a port of Java's DBUnit functionality over to PHP to work happily with PHPUnit:   For those of you not familiar with DBUnit, it is a framework that allows you to easily and quickly test php code that modifies and works with database data. [...] With database code this [testing] is somewhat difficult because you have to ensure that your database is in a known state prior to running your tests.   He gives two examples, the first illustrates the difficulty that can come up when trying to test the database information with a normal unit test and the second an example of the same, but using his port of PHPDBUnit to delete information from the database. It uses two XML files in the test - one to seed the database and the other to give the expected export information.   Check out his post for more details on the port from Java and keep an eye out for a beta release of the library as soon as July.
624249
On the Zend Developer Zone, there's a new post pointing to the second part of their look at the Manning Publishing book "PHP in Action".   If you've been anxiously awaiting part two of this series then your wait is over. Here's a short introduction to the section part of this series written by the author of the book, Dagfinn Reiersol. I had the privilege of meeting Dagfinn at phpuk last week. Below the introduction is the link I know youâve been waiting for.   The new PDF they link to focus on two different patterns - the Decorator (a wrapper class) pattern and the Null Object (an object that works like the others but does nothing behind the scenes) pattern.
744440
On his blog today, Chris Hartjes has a quick screencast he's created showing off an interactive testing console he's worked up for use with the CakePHP framework.   I had suggested in an email to the CakePHP mailing list that an interactive console for doing testing of Models would be good. While at php|tek I spent a lot of time with the CakePHP guys talking about this. Out of it came some more ideas (like the ability to test your routes) and they even implemented a console that spits out API information for you. Very cool stuff. So, I decided to do a little screencast demo of a very early alpha version of the interactive console.   The screencast shows Chris running a test on his own classes, including demonstrating the built-in help the app offers.
650296
In a post from PHP Magazine today, there's mention of an interesting discussion that was had at the latest NYPHP meeting concerning the accessing of the NDB Cluster native API directly from PHP.
273337
Here's what was popular in the PHP community one year ago today:Job Posting: National Auto Warranty Seeks MySQL DBAJob Posting: National Auto Warranty Seeks PHP Web App Developer (Wentzville, MO)DevShed: Creating a Login Script for a PHP Invoicing SystemZak Greant's Blog: The eZ partner program (response to Seth Gottlieb's Commercial O/S business post)php|architect: Application-level Logging with the Zend FrameworkPaul Reinheimer's Blog: Object-Oriented PHP, Concepts, Techniques, and CodeRyan Malesevich's Blog: Fight Spam Comments with Bad Behavior and AkismetZend Developer Zone: SQLite: Lean, Mean DB MachineBuilderau.com.au: Cache PHP scripts with APC modulePro-PHP Podcast: Interview With Cal EvansSitePoint PHP Blog: PHP extension for Cairo graphics libraryTechnobabbler.com: making a radar loop with PHPDevShed: Working with MySQL Result Sets and the Decorator Pattern in PHPJob Posting: exhibit-E Seeks Interactive Developer (New York, NY)Jacob Santos' Blog: Patterns for PHP: Page Controller Draft
710008
Sebastian Bergmann points out a new feature that PHPUnit (the popular PHP unit testing tool) now has - parallel_test_execution allowing for each test to execute on a separate PHP process.   The advantages of this include full test isolation and the fact that a test can now cause a PHP fatal error or even a segmentation fault of the PHP interpreter without interrupting the test execution.   He does mention, however, that it can cause a bit more overhead for larger testing suites since it needs to create a new process (complete with memory usage) for each running test. There are also coding issues that could be thrown off by this option (he gives an example of an inheritance issue with eZ Components).     He also notes some of his thoughts on how to control/configure the process (like in a configuration file) and via an "@isolated" notation to make it easy to do it dynamically.
635920
Popular posts from PHPDeveloper.org for the past week:Padraic Brady's Blog: Complex Views w/Zend Framework - The Final Chapter: ZFE & Zend_Layout in Core!php|architect: Stuff your stockings: single issues 30% offDeveloperTutorials.com: How to Install PHP 5 on LinuxStoyan Stefanov's Blog: Fancy FormattingSymbianOne.com: Your S60 Web server gets a boostAndreas Gohr's Blog: MySimple.php - A lightweight PHPMyAdmin substituteNessa's Blog: Working with Permissions in PHPSymfony Blog: Symfony 1.0.10 is OutMatthew Turland's Blog: Web Scraping Article PublishedJan Lehnardt's Blog: REST Controller for PHP Applications
664550
Sebastian Bergmann has posted an official call for help for a PHPUnit-related project that seems to be a more and more requested feature for the popular unit testing package - an Ajax-based test runner.   It would be great if the frontend for the browser-based test runner would make use of AJAX. Since I am clueless when it comes to both web design in general and AJAX in particular, I would appreciate if someone else could help me with implementing this test runner.   He's looking for the XHTML, CSS, and Javascript to put it all together as well as the Javascript that makes the magic happen. If you're interested in helping out, you can either contact him on the mailing list or in #phpunit on the Freenode IRC network.
629310
You cannot help but like someone like Greg who is honest and humble:  "I am one of the core developers of the PEAR package who has joined the game relatively late... The base PEAR class is one monstrous mistake, and PEAR_Error is pretty close. Everyone knows this. I designed an error class that is much, much more flexible and it is part of PEAR 1.3.1 (PEAR_ErrorStack) - check it out. "  Sadly it's just not true that everyone knows that PEAR class is big mistake (Jeff Moore has more on why PEAR.php is awful).  Given that PEAR is both an important framework and a worthless class, the confusion in names will  definitely  cause the value of the PEAR class to be overestimated. Just read any article on PEAR and you can see what nice words they have to say about the base classes :-(     I once said once that too many PEAR developers were journeymen. This might have offended  some people, but I was trying hard to be diplomatic. I must say that today the PEAR group is definitely more mature, and they have learnt a lot about library design. What would really make my eyes light up  would be an PEAR2 initiative that kept the existing classes, but dropped the bad seeds such as PEAR.php (e.g. the PEAR and PEAR_Error classes).   And in case you were wondering, I do think there's great value in the PEAR DB API. API's are important for interoperatability. For example, ADOdb has a PEAR DB compatibility mode. I would certainly be flattered if PEAR DB had an ADOdb compat mode too :-)
629114
In response to several other posts lately about the PEAR::DB package in PEAR (and things that could be done to improve it), David Coallier got a bit fed up and shared his opinion - "PEAR::DB is deprecated, got it?"   All new features are made into MDB2 and not DB, the only thing that is being done on DB is security fixes. So MDB2 is first of all, faster, smaller (Because of it's driver and modularity), easier, and has more features (LOB handling, Iterator, etc) and better end-user documentation, quite solid docs indeed.   Of course, the comments of the post are full of people arguing to keep it around and others that agree with David, especially in light of a MDB2 driver for the Zend Framework he mentions.
277304
The results from the latest poll conducted by the International PHP Magazine have been released. This time, they asked developers what they thought was the best way to do QA for their PHP applications.   Among the options were things like "Do API documentation", "Use code analyzers that check CS violations, XSS or SQL injection attacks" and the number one choice - "Do unit tests using PHPUnit or phpt". Three other options followed behind (using debugging tools, code analyzers and having a commit mailing list) with the API documentation falling down in last place.   They already started up this week's poll too. This time, they ask developers to vote on which of the options make for good PHP code. There's four options - structured, consistent, portable and secure. Get your vote in today!
666653
Sebastian Bergmann has a quick new posting on his weblog concerning the integration of PHPUnit and Phing.
146149
An introduction to using refactoring, unit testing and ZenTest on existing code.
660083
Ivo Jansch has a recent post made the other day that takes a look at one of the recent offerings from IBM targeted at PHP developers - the functionality to allow PHP to run on their System i platform.   Some of the developers at Ibuildings are working with PHP on IBM's System-i platform. If that name doesn't ring a bell, it has been called 'iSeries' for a while and it's basically a new name for the old AS/400. [...] Recently IBM and Zend have teamed up to port PHP to the i5/OS operating system. So far this port seems succesful; one of the reasons is perhaps that PHP is easier to adopt by traditional System-i developers than Java, which forces you to learn Object Oriented Programming.   He makes mention of the db2 database extension you can use to access the database as well as a "i5 toolkit" to help with the same. He even links to an article talking about it.
769389
Latest PHPClasses.org Releases:Class TreeviewPHP User ClassDHTMLDumpSalatCSV Parse and ReadRSAsmb4phpClient infoTrue Singleton ClassRounded Border Table Generator
395773
Always looking forward to the future of PHPUnit, Sebastian Bergmann has started gathering some ideas for future additions to the project:   I started to collect ideas for features that I would like to see in PHPUnit but currently lack the time to implement myself.   The two listed in this post are:  Mutation testing - an approach where the testing tool makes some change to the tested code, runs the tests, and if the tests pass displays a message saying what it changed Web Interface for Test Result Database - output viewer for the database logging PHPUnit is now capable of.  Looking to help out? Let him know!
496780
Lorenzo Alberton has posted some updates about the PEAR packages that he maintains to his blog today including MDB_QueryTool, Mail_Queue2, MDB2, and Translation2.   Even if lately I've been coding way more in C/C++ than in PHP, I still keep an eye on PEAR developement: I reckon in the last month I've closed a bug a day, on average. And after my last call for help about my PEAR packages, I'm also pleased to announce that someone did indeed offer a hand. I'm happy to welcome not one, but two new developers!   Each of the items has links to their PEAR homepage and a few quick words on where the package stands (including developers involved or wanting to get involved). He also reminds developers out there that they can help out too if they want to jump in and get into PEAR.