Monthly Archives for November 2009

Alexey Zakhlestin’s Blog: Ode to mb_ereg functions

Alexey Zakhlestin has written an ode to the mb_ereg functions - a set of regular expression based functions that are more than just for unicode strings:

There is a common misunderstanding, that mb_ereg_* functions are just unicode counterparts of ereg_* functions: slow and non-powerful. That's as far from truth as it can be. mb_ereg_* functions are based on oniguruma regular expressions library. And oniguruma is one of the fastest and most capable regular expression libraries out there. Couple of years ago I made a little speed-test.

He talks about some of the options you can give it (ignore case, find-longest, multiline) and modes (grep, java, perl, etc). A few code examples are also included.

Manuel Pichler’s Blog: First release of the staticReflection component

In a new post to his blog Manuel Pichler takes a look at the first release of the staticReflection component - his component provides a unified interface to both reflection versions, which makes it easy to switch between different implementations.

A few weeks ago I started just another script that utilized the tokenizer extension to extract some information from source code files. At that point I thought that the time had come to realize a project that was on my todo for a very long time. And here is the result of the first iteration.

He includes a few code examples and how to install it from the PHP_Depend PEAR channel (and, of course, how to report issues).

Robert Basic’s Blog: Chaining routes in Zend Framework

Robert Basic has a quick new tutorial about chaining routes in your Zend Framework applications:

On a forum, there was a question today, about adding language "support" to the routes using Zend Framework. The guy wanted routes like /en/foo/bar or /de/baz. I wrote there an example for that using Zend_Router_Routes_Chain, so just posting that example here, too.

Custom routing allows you to define routes specific to your application without having to change the core libraries. In his example, he shows how to set up the routing objects and how to add them to the request's chain.