News Feed
Jobs Feed
Sections

Recent Jobs

News Archive
feed this:

Christian Weiske's Blog:
Importing huge XML files using PHP5 - efficiently and conveniently
August 25, 2008 @ 09:34:38

Christian Weiske has a quick tip on how to get larger XML files to pull into PHP5 and be usable:

At work I had the task to implement the synchronization between an online shop and a commodity management system. Data exchange format was XML - one big XML file for all of the products (some thousands with dozens of attributes). Big question: How do I import the file in a way that is most convenient for me as a programmer - and without exceeding the machine's RAM when loading a 1 GiB file?

The newer alternatives both use the same technology (DOM and SimpleXML - with DOM behind it) so he goes more "low tech" than that and opts for the XMLReader extension to pull in the large amounts of data. Available in PHP5, the XMLReader extension, which he combines with an Iterator from the SPL to makes for a simple, quick little parser.

0 comments voice your opinion now!
import xml file php5 efficient convenient xmlreader spl iterator



Ibuildings Blog:
Implementing Iterators
August 20, 2008 @ 15:02:59

On the Ibuildings blog Ruud Alberts takes a look at iterators - what they are and how they're used (including the objects the SPL makes available).

Let's kickstart this blogpost by defining what an iterator actually is. According to wikipedia, an iterator is. A collection can pretty much be anything. The most obvious sources would be arrays, but other than that, iterations can be done over database resultsets, strings, datetime intervals, directories, file content and XML listings, to name a few.

He looks at the iterator interface that comes bundled in the SPL and how you can create a custom one to loop through your own data collection. He includes an example - a colorful string iterator that "pretties up" an HTML string with various colors.

0 comments voice your opinion now!
iterator standard library spl custom color string tutorial


Havard Eide's Blog:
Iterators
August 06, 2008 @ 12:52:35

Havard Eide looks at another aspect of the Standard PHP Library in a new blog post today - iterators.

[It's] a set of classes in the SPL that implements various iterating patterns: ArrayIterator, AppendIterator, FilterIterator, LimitIterator and NoRewindIterator. Hopefully you'll get a idea of what these are capable of and that you can get some new ideas for your day-to-day tasks.

He breaks it down into example of each, explaining what they can be used for, how they work and a code example of each in action (with output). You can find more information in iterators and their functions in the SPL section of the manual.

0 comments voice your opinion now!
iterator tutorial array append filter limit norewind


Builder.com.au:
How do I...recursively scan directories with PHP's DirectoryIterators?
June 18, 2008 @ 07:55:21

Builder.com.au has a new tutorial posted today talking about the use if Iterators (from PHP's SPL) to recurse down through directories on your local drive.

One of PHP5's most interesting new features is the addition of Iterators, a collection of ready-made interfaces designed to help in navigating and processing hierarchical data structures. These Iterators significantly reduce the amount of code required to process an XML document tree or a file collection.

They give three examples - two basic ones showing a simple use of the DirectoryIterator and RecursiveDirectoryIterator and another slightly more complex one showing how to get information from the recursive iteration as it goes down.

0 comments voice your opinion now!
directoryiterator iterator recursive directory example code


Developer Tutorials Blog:
Iterating PHP objects, and readable code too!
May 06, 2008 @ 14:34:58

The Developer Tutorials blog has a recent post that talks about manipulating objects in PHP with the help of the iterators that the Standard PHP Library has to offer.

It's a generally accepted fact that more readable code is more maintainable and easier for other developers to pick up. [...] Today I'm going to take a look at object iteration, most commonly found in the Standard PHP Library, and explore using the Iterator interface to simplify looping.

The main part of the tutorial shows how to implement the Iterator interface of the SPL to create your own custom methods, theirs being a Database version with methodsfor rewinding, reading and getting the current record you're working with.

0 comments voice your opinion now!
spl iterator tutorial database implement


IBM developerWorks:
Five more PHP design patterns
March 28, 2008 @ 08:49:35

The IBM developerWorks site has a new article posted that talks about design patterns, five of them in particular, that can help to "accelerate your PHP development" and make your code more maintainable down the line.

As an application developer, you can have a lifelong career without ever knowing what any of the patterns are called or how or when they're used. However, I've found that a good working knowledge of these patterns, as well as those introduced in the developerWorks article "Five common PHP design patterns" (see Resources), allows you to do two things: Enable high-bandwidth conversations and reduce painful lessons.

The patterns they talk about in this "five more" article of the series are:

  • Adapter Pattern
  • Iterator Pattern
  • Decorator Pattern
  • Delegate Pattern
  • State Pattern

Diagrams are provided for each of them, showing how they flow along with brief code examples (structures really) to show how that transitions over to actual use.

0 comments voice your opinion now!
design patterns tutorial adapter iterator decorator delegate state


phpRiot.com:
Using the PHP 5 Iterator interface with Smarty
March 10, 2008 @ 09:35:00

On the phpRiot blog, Quentin Zervaas has posted a quick tutorial about using the Iterator interface (part of the Standard PHP Library) together with Smarty to loop through some objects:

The PHP 5 Iterator interface is very useful for defining custom behaviour for looping over objects, however I just noticed that looping over such objects in Smarty will not work correctly. Smarty will in fact cast an object back to an array.

He includes code examples of his problem to illustrate and shows how he got around the problem - a getData() function he defined that just returns the array from the object.

0 comments voice your opinion now!
iterator interface smarty php5 spl object array


Larry Garfield's Blog:
Benchmarking magic
November 08, 2007 @ 12:04:00

Larry Garfield has put together some benchmarks based around a request he had from other developers (the "performance czars") as to how the magic functions in PHP5 would perform in the new environment.

Already, there is talk of how, and if, to leverage PHP 5's object handling now that we don't need to deal with the weirdness of PHP 4's object model. Of course, because it's Drupal, our army of performance czars want to know just what the cost is for object handling, and especially advanced object magic like __get(), __call(), the ArrayAccess interface, and so forth.

He an his tests on a Thinkpad (Intel Core2 Duo 2.2Ghz) running Kubuntu and PHP 5.2.3. They were run two million times benchmarking the different methods for:

  • function calls
  • __call
  • __get
  • __set
  • iterators (array)
  • inheritance
  • composition

His results are listed at the end of the post.

0 comments voice your opinion now!
benchmark magic function get set call iterator inheritance composition benchmark magic function get set call iterator inheritance composition


Zend Developer Zone:
The Standard PHP Library (SPL)
September 26, 2007 @ 07:52:31

The Zend Developer Zone has posted a new article/tutorial from Ben Ramsey covering one of the more powerful bits of functionality that's included with PHP5 - the Standard PHP Library (SPL).

As its name implies, the goal of the Standard PHP Library-or SPL, for short-is to provide a standard library of interfaces that allows developers to take full advantage of object-oriented programming in PHP 5. [...] The functionality it provides includes, for example, the ability to define how your objects will react when iterated over with foreach, advanced array access, file and directory access, and advanced SimpleXML object handling. The largest chunk of functionality that the SPL provides comes in the form of iterators.

Ben focuses on the iterators - three different kinds: IteratorAggregate, RecursiveIterator and SeekableIterator. The SPL also comes with a few other built-in kinds of iterators he mentions as well:

  • ArrayIterator
  • DirectoryIterator
  • FileIterator

As a bonus, he also talks about other "goodies" the SPL has to offer like exceptions, array handling, and file/directory access.

Also, check out Ben's comments on his own blog about the article.

0 comments voice your opinion now!
spl standardphplibrary tutorial iterator goodies array directory file spl standardphplibrary tutorial iterator goodies array directory file


DevShed:
Using Directory Iterators and MySQL with Adapter Objects with PHP
December 13, 2006 @ 14:10:00

Continuing on from the first part of the series looking at the use of Adapter objects, DevShed has posted part two today - using the Adapter objects along with Directory Iterators to integrate with a MySQL database.

Provided that you understand the basic concepts of the adapter pattern, in this final tutorial, I'll show you how to use it in conjunction with the "DirectoryIterator" class, bundled with PHP 5, and with a couple of MySQL wrappers as well.

They jump right in (as was said, assuming you read the previous article) to using the directory iterators and the adapters together to make a class that gets information about the files in a directory. They take this and show a sample use that's then transformed into a class capable of using the same logic on MySQL results.

0 comments voice your opinion now!
tutorial adapter object directory iterator mysql result part2 tutorial adapter object directory iterator mysql result part2



Community Events











Don't see your event here?
Let us know!


example database cakephp book zendframework code zend conference mysql framework PEAR releases ajax package job application developer release security PHP5

All content copyright, 2008 PHPDeveloper.org :: info@phpdeveloper.org - Powered by the Solar PHP Framework