Mike Lively's Blog: Adding Database Tests to Existing PHPUnit Test Cases
683391
Mike Lively has posted about functionality he's created to add database testing procedures to preexisting PHPUnit tests supplementing his other post n adding database support to PHPUnit.   When I was first creating the Database Extension for PHPUnit I realized that there was a very high likelihood that several people would have tests that were already written that they would like to add additional database tests too. To accomplish this I actually wrote the PHPUnit_Extensions_Database_DefaultTester class. In fact, if you were to look at the source of the database test case you will see that all of it's operations are actually forwarded to this class which does all of the work.   He includes his same example from before - the banking system - and shows how the tests can be appended on, adding a getDatabaseTester method that returns an object the rest of the tests can use.
710066
DevShed continues their series covering SQLite in PHP5 today with the final tutorial - "Additional Methods for Using SQLite with PHP 5":   The list of additional features offered by SQLite is really impressive. Therefore, in this last article of the series, I'll be taking an in-depth look at them. This will complete our analysis of this excellent RDBMS integrated with PHP 5.   First up is a look at the usage of the seek and lastInsertRowid functions followed by the changes and queryExec methods. They show how to use the createFunction method and show one of the more advanced features of SQLite - creating a database that only exists in the server's memory.
743840
Chris Shiflett has posted his own recap of the (just passed) php|works conference up in Toronto over on his blog.   I've been traveling non-stop since php|works, so I haven't had a chance to reflect on the conference, what I learned, who I met, and things like that. (Zak has been doing a good job of this lately, and I'd like to follow his lead.) I've probably forgotten more than I remember, but this is my recap.   Included in the things he mentions are:  The people he was able to meet (like Joshua Eichorn and Sebastian Bergmann) The talks he gave ("Truth about XSS" and "Agile PHP Testing") His interview with Cal Evans of the Zend Developer Zone The PHP 5 Certification and Wez Furlong's "Not PDO" talk
146149
An introduction to using refactoring, unit testing and ZenTest on existing code.
412006
From PHP Planet today, there's a note on Marcus White's weblog stating that: you cannot prove anything by testing. No matter how hard you try, there could always be something wrong, or some combination of conditions or some external event that you havenÃ¢ÂÂt thought of. You never know absolutely for sure that your project is working correctly and you never will.
457009
The Zend Developer Zone has a quick post about the arrival of a handy tool for working with simple testing on your PHP script - the phpt generator.   Etienne Kneuss has finally finished his  phpt generator. So if you need a basic phpt test for a function (or the entire PHP library) - don't write it. Be lazy, click a few buttons and back to chatting on IRC you go.   Etienne is also quoted as saying that the purpose of the script it to help spot problems in examples and to help "extend the code coverage analysis".
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.
562776
A different sort of abstraction layer project has been started up and has already seen a few releases - Forage. As mentioned on Rob Young's blog:    Recently I've been working on a search abstraction library for PHP called Forage. The idea is to bring to search what we've had for relational databases for quite a while, abstraction.    On Friday I put up a preview release with three backends; Solr, Xapian and Zend Search Lucene. At the moment it has the bare minimum of features but there will be more soon. In this post I'm going to talk a little about the motivation for the project and then walk through a short example.    He talks about the need for search abstraction (integration and resilience to change) before getting into an example of some code that grabs the data from an RSS feed, passes it in to the Xapian search engine and stores it before looking it over for thier search terms ("yahoo microsoft").   You can download the library if you'd like to try it out for yourself.
347086
On CodePoets.co.uk, there's a new tutorial posted by David Goodwin showing how to use PHP with the PEAR MDB2 component to access your database backend.   While writing some PHP Training materials for Pale Purple, I thought I'd add an updated guide on PHP and database access. I've already done one on PEAR::DB, but PEAR::MDB2 is it's successor and has a slightly different API.... and as PEAR::DB is now deprecated, it's probably about time I rewrote it anyway.   David looks at what the MDB2 package is, how to install it, connecting to your database and including some error handling as well. He (thankfully) also touches on one of the most handy features of the package - the prepared statements and the security they can offer.
527226
Latest PHPClasses.org Releases:phpTwitterGoogle Checkout ButtonPOP3Remote MySQL QueryPlatform_pearDatabase FunctionsArIdentifierMySQLClassMenuTreeWhoCalledUsNamespaceSimgWidgetsLarge Database BackupSite ToolsgStats
751529
Michael Kimsal has come up with the start of a series to introduce PHP developers to the world of Grails (the Java framework).   The comparisons I plan to make will be mostly to PHP, cause that's what I'm most familiar with, though there may be some other comparisons from time to time.  This is a work in progress, but I'd be very interested in feedback from anyone out there interested in this aea - Grails, Groovy, PHP, why another language/platform/framework, etc.   The first two installments have been posted - part one and part two - with an introduction to what Grails is and a brief dip into some "Hello world" sort of code to give you an idea of the structure.
765546
On the Zend Developer Zone, there's a new tutorial looking at one of the unsung heroes of the web development world - one that, when you need it, it does what it does well - SQLite.   Is a full-blown database server even necessary for most PHP applications? What about a data-driven website like a blog or a simple family photo album or message board? In these and may other cases, the small, simple, and extremely powerful SQLite may be all you need. Let's take SQLite out for a test drive and see how it performs, find some of the quirks you might run in to, and how to get the most use out of it.   They talk about SQLite being a "staple" in PHP for a while now and how PDO plays so well with it. They move on to the code quickly, giving a simple example of how to create a database, and table, and inserting content into the latter.    Other more advanced features are discussed - data types, speed of queries, using transactions, and cleaning up the code to really make it fly. They even talk about "user defined aggregate functions", a method to make running a set of data through the same processes over and over a snap.
449834
Sebastian Bergmann has posted the results of some benchmarking on the compilation he's done on the branches of PHP from version 3.0 all the way up to 5.3-CVS.   As people keep asking me for an update to my previous benchmarks (PHP / GCC / ICC Benchmark, PHP 5.1 / GCC Benchmark (Update), and PHP 5.1 Performance, I quickly ran a new benchmark today.   He rendered the results out into a series of charts defining the number of total seconds taken for the compile and how long each of the components took. It's impressive to see how much of a jump there was between the 3.0 series and 4.3.   He also includes his compile settings (and machine information) as well as the numbers for the results if you'd like to graph them out yourself.
256246
Sebastian Bergmann has officially announced the creation of a new planet in the PHP community - one specifically for the PHPUnit testing suite - Planet PHPUnit.   At the moment only three feeds are aggregated on Planet PHPUnit: release announcements, articles about new features in PHPUnit written by myself, and Manuel Pichler's blog postings on phpUnderControl.   He also is requesting that anyone out there currently writing on any topics surrounding the popular unit testing framework send him an email letting him know where it's at.
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.
242013
Popular posts from PHPDeveloper.org for the past week:ProDevTips.com: Writing a CMS/Community with Smarty and the Zend Framework: Part 6Nessa's Blog: Using an .htaccess with PHP Compiled as CGIArnold Daniels' Blog: How I PHP: The Output Handler - ContinuedMartynas Jusevicius' Blog: PHP 5 features: Class autoloadingSean Coates' Blog: Actually Solving a Problem (believe it or not)The Northclick Blog: Message Queue Project: First working versionStefan Mischook's Blog: A Question about object properties in PHP ClassesJob Posting: G2 Technology Seeks PHP Developer (Memphis, TN)Rob Allen's Blog: Zend_View: Access the view from a view helperDavid Walsh's Blog: Using PHP Generic Objects To Organize Your Code
676141
While attending Gunter Kniesel's "Aspect-Oriented Software Development" lecture yesterday it occured to me that it might be possible to (ab)use PHP 5's __autoload(), __call(), __get(), and __set() interceptors to facilitate Aspect-Oriented Programming with PHP.