DevShed: Executing Destructors Manually in PHP 5
689192
Finishing off their series on destructors in PHP5 applications today, DevShed has posted this new tutorial showing how to manually run the destructors of your class (in case there's ever a need).   In this final tutorial of the series I'm going to show you how to manually trigger a destructor, and in addition you'll learn how to emulate the behavior of this magic method when using PHP 4.   They not only talk about how to call the destructor manually but they also show how to call multiple destructors at the same time to destroy lots of objects at once. And, as promised, they include a method for being able to use a destructor-like bit of functionality in a PHP4 app as well.
444294
DevShed launches a new tutorial series today with this new article, an introductory look at using the PDO objects in PHP5.   As you may have seen at first glance, the PDO extension looks really useful in certain situations. In this three-part series, I'm going to introduce its most important features, by accompanying the corresponding theoretical concepts with numerous hands-on examples, in this way facilitating the respective learning curve.   They start the series off with a look at using the extension and connecting to a resource (in their case, a MySQL database). Then, it's on to performing queries and grabbing the last inserted IDs for the rows your script just put in.
571915
In a quick note from Steven's blog is a pointer to tricky problem with the clone keyword in PHP 5- "There is a nasty change in PHP5: objects are now always passed by reference. Variables hold a handle to the object rather than the object itself. This brings PHP more in line with other OO languages (like Java) and removes some of the ugly from PHP OO code, but it also means that objects are treated differently from all the other types. Old code that depends on having objects copied when not passed by reference will break." For the fix, go here.
321583
Latest PHPClasses.org Releases:NodeezMySQLList content of directoryPablosky MySQLRImageManipulatorMySQL PaginationHTTP LocaleMySQL DB Class with  Data Manipulation Class TimeTaMeREasy PHP ValidationFiltreatmentImage to ASCII textKDoubleMetaphoneGeo Conversion
288007
After long discussions and much opinion being thrown around, Andrei Zmievski points outintegration of namespaces into the upcoming PHP6 release.   Ladies and gentlemen, we have namespaces.   According to the post from  \
86222
In brief Exploit circulating for unpatched vuln
377236
In a new post to his blog, Sebastian Bergmann mentions a new effort he's undertaken - the porting of the Hamcrest library of matcher objects to PHP.   I have begun to port Hamcrest, which provides a library of matcher objects (also known as constraints or predicates) allowing "match" rules to be defined declaratively, to be used in other frameworks. Typical scenarios include testing frameworks, mocking libraries and UI validation rules, to PHP.   The hamcrest-php project compliments other current hamcrest-related projects and his ultimate goal is to make it available to the PHPUnit testing community (as well as with the PHPMock effort).
740094
In his travels as a PHP developer, Jamie Wong has gathered some helpful debugging tips that are shared in this latest post to his blog.   Here are some bugfixing rules and tips Iâve learned working all these years with PHP. I emphasize mostly on fixing bugs than preventing them, which is another subject worth of its own article. Iâve moved to Rails, but I wanted to finish this post as a farewell and thanks to every article and documentation that was useful to me. Hope this is useful to you too.   Topics covered include:  Assume nothing Turn Error Reporting to show all errors Read the error message Understand the bug "Scooby-Bug, where are you?" Get as much information as possible  Each has some explanation below it and, in some places, a bit of code to clarify the point.
235064
DevShed has posted the first part of a two part series today looking at the use of static members and methods in classes in your PHP5 scripts.    Static properties and methods can be quite useful in a range of situations, not merely for constructing a Singleton class. This article, the first in a two-part series, introduces the basic concepts of static properties and methods, using plenty of hands-on examples.   Hopefully, by the end of this series you should be equipped with a decent knowledge of how to include static members and methods within your PHP applications with minor difficulties.    They start with a simple example of using both in a class before moving on to using the Singleton pattern working up to making a Factory for creating static objects.
152445
Latest PHPClasses.org Releases:Flash MessagesRSS and Atom Feeds Processing APImabp::tagCloudUltimate MySQLerror_managerSingly Linked ListChinese Encode ConvertphpSortableASCII Art GeneratorPSPLMultiselectNiftyCubeAmazon ECS Webservicesimple Email ClassPHPDance
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.
192641
DevShed has posted the second and last part of a series of two articles based around the Composite design pattern - using it to work with strings in PHP5.   Are you a PHP developer who wants to improve your skills in pattern-based programming in PHP? If the answer to this question is a emphatic yes, then you should begin reading this article now! Welcome to the final part of the series "Implementing the composite pattern with PHP 5." Comprised of two instructive tutorials, this series walks you through the basic concepts of this important design pattern, and shows you how to apply it with some educational examples.   They start by defining a simple StringProcessor class as an abstract interface to build from. From there, they create two other classes - the SingleStringProcessor and the MultipleStringProcessor. Each of these takes in either a single file or multiple filenames and spits back out the value of the string and the length of the string.
647305
Popular posts from PHPDeveloper.org for the past week:Ian Selby's Blog: Uploading Large Files With PHPONLamp.com: Quick and Clean PHP FormsDotVoid.com: Reordering nested sets using PHP and JavascriptRob Allen's Blog: Zend Framework Book Coming SoonCommunity News: php|works Daily Summaries (Day 2)Community News: Sara Golemon & Christopher Jones - First Day Summaries of php|worksJob Posting: University of Wisconsin, Department of Medicine Seeks Web Developer (Madison, WI)Zend Developer Zone: PHP Abstract Podcast Episode 19: Glue Frameworks vs. Full Stack FrameworksStefan Mischook's Blog: Installing PHP and MySQL on the Mac with MAMPSecurityReason: Three Advisories for PHP 5.2.4 (dl, iconv_substr & setlocale)
84867
Tobias Schlitt has a great (long) post responding to a proposal made on the php.internals mailing list for the inclusion of "taint mode" in upcoming PHP versions.   Tobias starts with an overview of what "taint mode" is so that everyone's on the same page. His example involves the incoming and outgoing data usually involved in an application and how the incoming can be the most problematic when it comes to the values inside. This is where taint mode can come to the rescue. At its most basic level, it's a method for, assuming everything coming in is "tainted", creating a mechanism to automatically clean the data before it's even touched.   With the basics down, Tobias looks back to the proposal for a few additional comments. He considers the proposal a great way to introduce the functionality to the language. There are some draw backs he mentions, though, including the additional overhead of working through every inputted value.   Overall, I think this whole thing would be a great addition to PHP and I hope this could come for 6.0. What do you think?   You can also check out some other opinions on the matter:  "Tainted mode" pour php on the Kamelot Blog
732572
DevShed has posted part two in their series looking at the use of destructors in PHP5. This time they focus on their use with multiple objects inside of an application.   Destructors can be used in all sorts of clever ways in the context of a given PHP 5 application, mostly in those cases where it's necessary to keep track of the status of certain objects prior to their being destroyed by the PHP interpreter. In this second chapter you'll learn how to work simultaneously with multiple classes that concretely implement their respective destructors.   They revisit their previous example with a simple class that's then extended to allow the flexibility to call the same destructor on multiple instances.
139275
Popular posts from PHPDeveloper.org for the past week:PHP-Coding-Practices.com: Try-Catch Syntax WeirdnessPHPBuilder.com: Cross-Platform Database PHP DevelopmentIBM developerWorks: Java and PHP technology on AIX - Integrate the Java business application w/ DB2OpenSourceCommunity.org: What do you think makes a good CMS?Jonathan Snook's Blog: Elemental: Conditional Content with CakePHPDevShed: The Basics of Using the Factory Pattern in PHP 5Builder.com.au: PHP exploit code plants itself in GIFJohn Cox's Blog:  Linux.com Now PHP PoweredNick Halstead's Blog: Solving Programming ProblemsPHP-Tools Blog: Testing FIT
742375
DevShed is moving right along with their series concerning Command objects with this new article showing even more examples of how they're used.   Turning special attention to this second article of the series, I'll develop a few more hands-on examples concerning the pattern in question, thus you can reaffirm the concepts learned in the preceding installment.   They start off by building an array command class to act as a base for the rest of the tutorial. They make two more command classes to point to the commands to be issued (lowercase or reverse a string). Next up is the commanded class to handle the actions themselves. Finally, they plug it all together and show a complete example, including usage.