PHP_CompatInfo 1.9.0

Laurent Laville

pear@laurent-laville.org

December 26, 2008

Agenda

Project History (1/3)

Project History (2/3)

Project History (3/3)

Credits

Special thanks to Davey Safik, without who this adventure won't became a reality.

Thanks also to Christian Weiske, without who and his bug report, API 1.9.0 won't certainly born.

Why a new API ?

With API 1.8.0, there is a limitation in class (internal, and end-user defined) detection. This limitation is also valuable for lot of constants and PHP extensions.

As always, my goal was to keep a backward compatibility with previous versions, and add a simple way to support easily the ton of possible PHP extensions with their constants and classes implementation.

I thought since a long time to rewrite the full package in PHP5 with help of Reflection API, but I've not yet reached the limitation of PHP4 code.

News in API 1.9.0 (1/3)

  • Remember to tell people that alias work on parsing functions and not with renderer

News in API 1.9.0 (2/3)

News in API 1.9.0 (3/3)

Your Extensions Support List (1/7)

As I can't imagine to provide all possible extensions support, I've added a basic list by default (see CompatInfo/func_array.php file), and let ability to :

Your Extensions Support List (2/7)

The pciconf CLI script, presented here, is for PHP5 users only.

PHP_CompatInfo Extensions Support List build system
Usage: pciconf [options]

-e --enable (optional)value      A comma separated list of extensions you want
                                 only ()
-d --disable (optional)value     A comma separated list of extensions you want
                                 to disable ()
-s --sapi (optional)value        A comma separated list of SAPI you want only
                                 (apache2handler,cgi,cli)
-x --exceptions (optional)value  File that provides exceptions results
                                 (exceptions.conf.php)
-o --output (optional)value      Target directory where to write results
                                 (@php_dir@/PHP/CompatInfo)
-v --verbose (optional)value     Set the verbose level (1)
-V --version                     Print version information
-h --help                        Show this help
      

Your Extensions Support List (3/7)

Default behavior of pciconf is to build the full list of all extensions loaded on current platform.

Your Extensions Support List (4/7)

Default behavior of pciconf is to build common server API support (apache2handler, cgi, cli).

Your Extensions Support List (5/7)

Default behavior of pciconf is to build results in the same directory where PHP_CompatInfo was installed (@php_dir@/PHP/CompatInfo).

Your Extensions Support List (6/7)

pciconf has ability to fix errors (like elements missing, or wrong version) with the Exception Rules System.

This ERS is provided by a file (default is exception.conf.php) with a mandatory function named getException().

Your Extensions Support List (7/7)

pciconf run in verbose mode (by default). Thats means you should have on screen what extensions (and which versions) were found.

The End

Thank you for your attention!

Hope you liked it!

ANY QUESTIONS ?

Do you have feedback, suggestions, critics?

Don't hesitate to ask to improve this new API before stable release, planned on January 19, 2009.