Notes from PHP Vikinger

Agenda

26 PHP developers meet in Skien Saturday June 9th 2007 for an unconference on PHP related topics. Here you'll find coverage taken by the Norwegian PHP User Group through notes, video and images.

Campers at PHP Vikinger

Topics

The following topics where covered:

Derick Rethans managing the topics

Some other topics didn't manage to fit into the time frame: Agile development (PHPUnit, Selenium), Tagging, Object-Oriented PHP Extensions, Guidelines: Server Setup and Application Architecture, PHP Stats, Plushtoy and Version Control for Content.

More images can be found here: http://www.flickr.com/photos/knuturdalen/sets/72157600338128307/


MySQL Native Driver


by Andrey Hristov from MySQL

  • Home Page: http://dev.mysql.com/downloads/connector/php-mysqlnd/
  • Library and not a new extension
  • Drop-in replacement for libmysql
  • Tightly integrated with PHP and the Zend Engine
  • Released with PHP (faster deployment of patches/upgrades since you only have to update PHP, not the underlying libmysql)
  • Persistent connections works with Apache prefork/threads and FastCGI
  • Works for both PHP 5 and 6 (and teoretically for >= 4.3)
  • 20-30% faster than libmysql
  • No SSL support as of yet
  • Will probably support PDO in the future


PHP 6 and unicode


by Derick Rethans from eZ systems

  • register_globals will be removed
  • Register long variables will be removed
  • magic_quotes will be removed
  • Allow Pass by reference throws an E_STRICT
  • dl() disabled by default
  • Removed triggering of __autoload() on instanceof, catch blocks, is_a(), is_subclass_of()
  • zend.ze1_compability will be removed
  • safe_mode will be removed, because of:
    • False sense of security
    • Many hosters blindly enable it without thinking
  • ncurses extension moved out from core PHP to PECL
  • Every string in PHP6 will be unicode unless something else specified
  • You can turn unicode on and off in php.ini with the option: unicode_semantics
  • With unicode, All characters are stored in 2 bytes, easier to work with
  • New class for comparing strings (Collator)


$coll = new Collator('locale');
$coll->compate('str1','str2');

  • New class for iterating through a string: TextIterator
  • With unicode we have direct translation of characters from one charset to another


mysql_proxy


by Andrey Hristov from MySQL


Image Creation


by Kore Nordmann

  • Kore is one of the developers of pear/Image_3D. This class allows the rendering of 3 dimensional objects utilizing PHP.
  • For eZ Components, Kore is working on a graph component called ezcGraph
  • ezcGraph implements drivers to use image creation backends: Flash, SVG, PDF, PNG/JPEG (gd), pecl/cairo_wrapper and ASCII
  • It is fast (as a PHP-script at least)
  • pecl/imagick: The extension went unmaintained for a quite some time before Scott MacVicar took it over to resolve open issues. Mikko Koppanen joined the efforts and the old Imagick extension was replaced with a new OO-extension.
  • Kore suggests using SVG is wise: Works in most browsers, IE6 with a plugin.


The Age of Literate Machines


by Zak Greant

Here's the post discussion:


Xdebug


by Derick Rethans from eZ systems

From browser:
XDEBUG_SESSION_START=name

From shell:
export XDEBUG_START="something"