Planet eZ publish

I need to talk more with my friend (and lawyer) Keith, who put the bug in my ear a few years ago. I also hope that Eben and Dan from the SFLC and Michael Geist can help me plan.
I already have a few credits from Columbia, however, I bet that these may have no use for working towards my degree.

On Friday the 10th of February 2006 I will be presenting a talk on the eZ components at the PHPCon in London. In this talk I will explain the structure, contents and workings of the eZ components library. It should give a good overview of its architecture and at the same time give you an introduction on how to use the components. This conference is extremely cheap (£50) and there is a good line up of speakers. If you have time, please join !

Yesterday I released PHP 4.4.2RC2, which should be the final release candidate for PHP 4.4.2. The major fixes in this release will be the problems with current() and key(), the problem with Apache 2 subrequests and we modified the behavior of header() so that it does not allow more than one header to be set at once. This prevents header injection. Please test !
Moreover you will get all the features of most popular templating engine "smarty" and powerful data access layer "ADOdb".
Zephyr is an ajax based framework for PHP5 developers. You can easily develop business applications using this robust framework. This is extremely easy to learn and very simple to implement. You can deliver a full fledged Ajax application with strong business layer in backend within some minutes. installation and deployment of packages that you develop for zephyr is hassle free.
Their page gives complete documentation and examples for the framework, making it easy to get started. And, of course, the obligatory "Hello World" app is there too...
Also I did not know the term "fluent interface" before, we realized, that we already used this in the eZ components, to be more exact, in our Database package, which gives you a quite good ammount of SQL abstraction.
The new buzz term "fluent interface" has been mentioned a lot in the PHP world recently, so I will not again explain, what a "fluent interface" is. Andi already mentioned, that this way of desining an API is quite good and can give you a really handy interface, but he also points out, that one should make very careful use of the technique.
He gives a brief example from their code, and explains how it works. The statement selects from a table "Person" where the age is greater than 15 and orders it by the "full_name" field, limit of 10 rows returned. With the "fluent interface" concept, that's pretty much how the statement "reads" as well...

First of all: Happy new year everybody!!
The new buzz term "fluent interface" has been mentioned a lot in the PHP world recently, so I will not again explain, what a "fluent interface" is. Andi already mentioned, that this way of desining an API is quite good and can give you a really handy interface, but he also points out, that one should make very careful use of the technique.
Also I did not know the term "fluent interface" before, we realized, that we already used this in the eZ components, to be more exact, in our Database package, which gives you a quite good ammount of SQL abstraction.
Here is a small example, that creates an SQL query to fetch data from the table "Person":
$q = $db->createSelectQuery();
$q->select( '*' )
->from( 'Person' )
->where( $q->expr->gt( 'age', 15 ) )
->orderBy( 'full_name' )
->limit( 10 );
$stmt = $q->prepare();
$stmt->execute();
As you can see, after creating a query object, we can manipulate the query it represents through a "fluent interface". After we chose what to select and from which table, we add a WHERE condition which indicates that we search for persons older than 15 years. After that we determine to order the results by the column "full_name". The last call in our "method chain" limits the number of results to 10. Surely in combination with our PersistantObject package (which allows you to store arbitrary data structures into database tables), this is a mighty tool to build very portable applications. And I asume you noticed it's relation to PDO. ;)
Of course, this is only a very small part in the eZ components, where we use a "fluent interface", but I'm absolutly sure, that it makes great sense in this place. The usage is very comfortable and the resulting code is nicely readable. I'm sure, this is a sensible place for a "fluent interface".
P.S.: If you want to see another cool (but not really fluent) interface, take a look at the ezcConsoleTable class. ;)

First of all: Happy new year everybody!!
The new buzz term "fluent interface" has been mentioned a lot in the PHP world recently, so I will not again explain, what a "fluent interface" is. Andi already mentioned, that this way of desining an API is quite good and can give you a really handy interface, but he also points out, that one should make very careful use of the technique.
Also I did not know the term "fluent interface" before, we realized, that we already used this in the eZ components, to be more exact, in our Database package, which gives you a quite good ammount of SQL abstraction.
Here is a small example, that creates an SQL query to fetch data from the table "Person":
$q = $db->createSelectQuery();
$q->select( '*' )
->from( 'Person' )
->where( $q->expr->gt( 'age', 15 ) )
->orderBy( 'full_name' )
->limit( 10 );
$stmt = $q->prepare();
$stmt->execute();
As you can see, after creating a query object, we can manipulate the query it represents through a "fluent interface". After we chose what to select and from which table, we add a WHERE condition which indicates that we search for persons older than 15 years. After that we determine to order the results by the column "full_name". The last call in our "method chain" limits the number of results to 10. Surely in combination with our PersistantObject package (which allows you to store arbitrary data structures into database tables), this is a mighty tool to build very portable applications. And I asume you noticed it's relation to PDO. ;)
Of course, this is only a very small part in the eZ components, where we use a "fluent interface", but I'm absolutly sure, that it makes great sense in this place. The usage is very comfortable and the resulting code is nicely readable. I'm sure, this is a sensible place for a "fluent interface".
P.S.: If you want to see another cool (but not really fluent) interface, take a look at the ezcConsoleTable class. ;)

First of all: Happy new year everybody!!
The new buzz term "fluent interface" has been mentioned a lot in the PHP world recently, so I will not again explain, what a "fluent interface" is. Andi already mentioned, that this way of desining an API is quite good and can give you a really handy interface, but he also points out, that one should make very careful use of the technique.
Also I did not know the term "fluent interface" before, we realized, that we already used this in the eZ components, to be more exact, in our Database package, which gives you a quite good ammount of SQL abstraction.
Here is a small example, that creates an SQL query to fetch data from the table "Person":
$q = $db->createSelectQuery();
$q->select( '*' )
->from( 'Person' )
->where( $q->expr->gt( 'age', 15 ) )
->orderBy( 'full_name' )
->limit( 10 );
$stmt = $q->prepare();
$stmt->execute();
As you can see, after creating a query object, we can manipulate the query it represents through a "fluent interface". After we chose what to select and from which table, we add a WHERE condition which indicates that we search for persons older than 15 years. After that we determine to order the results by the column "full_name". The last call in our "method chain" limits the number of results to 10. Surely in combination with our PersistantObject package (which allows you to store arbitrary data structures into database tables), this is a mighty tool to build very portable applications. And I asume you noticed it's relation to PDO. ;)
Of course, this is only a very small part in the eZ components, where we use a "fluent interface", but I'm absolutly sure, that it makes great sense in this place. The usage is very comfortable and the resulting code is nicely readable. I'm sure, this is a sensible place for a "fluent interface".
P.S.: If you want to see another cool (but not really fluent) interface, take a look at the ezcConsoleTable class. ;)
A little over 2 months have passed since the last stable release, and so we are once again on the release road starting with 2.7.4RC1. This release combines both bug fixes as well as a fair number new features, so there is something for everyone. Given the long delay since the last release by FUDforum standards, the list of changes is quite impressive.
Some of the improvements/bugfixes include:
You can grab this latest release candidate from their download section and get testing...

At the center of this image you can see a faint rock - the largest one in our solar system. It is larger than every known asteroid, moon, and comet nucleus. It is larger than any other local rocky planet. This rock is so large its gravity makes it nearly spherical, and holds heavy gases near its surface. Today, this rock starts another orbit around its parent star, for roughly the 5 billionth time, spinning over 350 times during each trip. Happy New Year to all the human inhabitants of this rock we call Earth.
(Didn't think of this text myself though, "borrowed" it from here.)
