<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Thijs Lensselink&#039;s Blog &#187; Zend</title>
	<atom:link href="http://lenss.nl/tag/zend/feed/" rel="self" type="application/rss+xml" />
	<link>http://lenss.nl</link>
	<description>Webdevelopment and stuff...</description>
	<lastBuildDate>Thu, 26 Apr 2012 21:48:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>VMware Workstation Listen to voice of the customer</title>
		<link>http://lenss.nl/2011/03/vmware-workstation-listen-to-voice-of-the-customer/</link>
		<comments>http://lenss.nl/2011/03/vmware-workstation-listen-to-voice-of-the-customer/#comments</comments>
		<pubDate>Tue, 15 Mar 2011 21:37:27 +0000</pubDate>
		<dc:creator>Thijs Lensselink</dc:creator>
				<category><![CDATA[/home]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Freelance]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Zend]]></category>
		<category><![CDATA[Interview]]></category>
		<category><![CDATA[Podcast]]></category>
		<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[VMWare]]></category>
		<category><![CDATA[Zend Studio]]></category>

		<guid isPermaLink="false">http://lenss.nl/?p=1157</guid>
		<description><![CDATA[A while back i was contacted by Vijay Laxmi. Vijay is a Sr Partner Marketing Manager over at Zend Technologies. And she was interested in doing a podcast like interview about the brand new and shiny VMWare &#038; Zend Studio integration. And because i am a big fan of this feature. I didn&#8217;t see why [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.zend.com/en/products/studio/vmware-workstation-deployment"><img style="float:left;margin:4px;" src="http://lenss.nl/wp-content/uploads/2011/03/zend-vmware.gif" alt="" title="zend-vmware" width="146" height="93" class="alignleft size-full wp-image-1161" /></a>A while back i was contacted by <a href="http://twitter.com/vlaxmi">Vijay Laxmi</a>. Vijay is a Sr Partner Marketing Manager over at Zend Technologies. And she was interested in doing a podcast like interview about the brand new and shiny <a href="http://www.zend.com/en/products/studio/vmware-workstation-deployment">VMWare &#038; Zend Studio</a> integration. And because i am a big fan of this feature. I didn&#8217;t see why not. So we had a few chat sessions. Along the way <a href="http://twitter.com/jsolomin">Joshua Solomin</a> from Zend and Michael Paiko from VMWare joined the party. And after some preparation we recorded the session. Considering i have never been much of a speaker. This was quite fun to do. </p>
<p>Michael send me the end result. And everybody seemed happy with it. After that life resumed and i have been incredibly busy every since. So i kinda forgot about the whole thing. Till Vijay mailed me today (ty! Vijay). VMWare put the <a href="http://blogs.vmware.com/workstation/">recording</a> on their website. And a customer mailing has been transmitted over the wire.  Cool stuff!</p>
<p><a href='http://lenss.nl/wp-content/uploads/2011/03/2011-02-07-VMware-Zend-VOC-Podcast.mp3'>2011-02-07 VMware-Zend VOC Podcast</a></p>
]]></content:encoded>
			<wfw:commentRss>http://lenss.nl/2011/03/vmware-workstation-listen-to-voice-of-the-customer/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
<enclosure url="http://lenss.nl/wp-content/uploads/2011/03/2011-02-07-VMware-Zend-VOC-Podcast.mp3" length="8675605" type="audio/mpeg" />
		</item>
		<item>
		<title>You want to do what with PHP?</title>
		<link>http://lenss.nl/2011/02/you-want-to-do-what-with-php/</link>
		<comments>http://lenss.nl/2011/02/you-want-to-do-what-with-php/#comments</comments>
		<pubDate>Sun, 06 Feb 2011 06:30:30 +0000</pubDate>
		<dc:creator>Thijs Lensselink</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Zend]]></category>
		<category><![CDATA[Review]]></category>

		<guid isPermaLink="false">http://lenss.nl/?p=1038</guid>
		<description><![CDATA[I finally took the time to read &#8216;You want to do what with PHP?&#8216;. Normally i would not write about the books i read. But this book is a bit different. And since i won a copy of Kevin Schroeder&#8217;s book in a twitter sweepstake. I thought i might as well write a small review [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.amazon.com/You-Want-Do-What-PHP/dp/1583470999"><img src="http://lenss.nl/wp-content/uploads/2011/02/whatwithphp.jpg" alt="" title="You want to do what with PHP?" width="200" height="258" class="alignleft size-full wp-image-1044" style="float:left;margin:10px;"  /></a> I finally took the time to read &#8216;<a href="http://www.amazon.com/You-Want-Do-What-PHP/dp/1583470999">You want to do what with PHP?</a>&#8216;. Normally i would not write about the books i read. But this book is a bit different. And since i won a copy of <a href="http://www.eschrade.com/">Kevin Schroeder&#8217;s</a> book in a twitter sweepstake. I thought i might as well write a small review to show a bit of gratitude. I will keep it short.</p>
<p>Kevin is Zend Evangelist for products like the <a href="http://framework.zend.com/">Zend Framework</a>, <a href="http://www.zend.com/products/server/">Zend Server</a>, <a href="http://www.zend.com/products/studio/">Zend Studio</a> and co writer of the book The IBM i <a href="http://www.mc-store.com/5096.html">Programmer&#8217;s Guide to PHP</a></p>
<p>It&#8217;s been a while since i read a PHP related book. I have been doing PHP based development for the past 10 years. And after reading almost every book of value on this topic. It&#8217;s hard to find something interesting to read about it. Most books just go over the basics. Or target a specific project / way of developing.</p>
<p>This book is a bit different from what i have read so far. And it will get a nice place near my other books of value. So what does make this book so different? First of all the topics that pass by are some of the more advanced topics you will come by in the PHP world. A lot of it is related to low level programming. So a bit of experience or interest in this subject is a must. Besides the advanced topics Kevin shows how to solve issues in ways i have never done them before. And that probably comes down to his experience with more low level languages like C.</p>
<p>He touches topics like Networking and sockets, Binary protocols, character encoding, streams, SPL, Asynchronous operations, file access, Daemons, And two great chapters about debugging, good development practises and just how to become a better developer in general. The book has a considerable amount of binary math in it which is cool. And which is also needed when doing things like handling raw TCP/IP and TCP/UDP data, writing stream handlers or creating your own file-system.</p>
<p>Maybe not all of the material touched in the book is relevant to web development. And most of us will probably never have to write an HTTP daemon in PHP. But the way Kevin tackles problems showed me things i never thought of before and new ways to attack old problems.</p>
<p>It gave me some good pointers for a webcrawler i have been working on. As i have wanted to add threading to this for a long time now. Besides that i just had a lot of fun reading this book. And would definitely advocate other developers to read it as well.</p>
<p>Added a review on <a href="http://www.amazon.com/review/R3MH7ULASZ1III/ref=cm_cr_dp_perm?ie=UTF8&#038;ASIN=1583470999&#038;nodeID=283155&#038;tag=&#038;linkCode=">Amazon</a> as well.</p>
]]></content:encoded>
			<wfw:commentRss>http://lenss.nl/2011/02/you-want-to-do-what-with-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zend Studio goes virtual</title>
		<link>http://lenss.nl/2010/09/zend-studio-goes-virtual/</link>
		<comments>http://lenss.nl/2010/09/zend-studio-goes-virtual/#comments</comments>
		<pubDate>Mon, 27 Sep 2010 10:25:17 +0000</pubDate>
		<dc:creator>Thijs Lensselink</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Zend]]></category>
		<category><![CDATA[hgfs]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[VMWare]]></category>
		<category><![CDATA[Zend Server]]></category>
		<category><![CDATA[Zend Studio]]></category>

		<guid isPermaLink="false">http://lenss.nl/?p=808</guid>
		<description><![CDATA[Zend Studio added a new great feature to there already impressive stack of features. The IDE just keeps growing in the right direction. So the new 8 version which at the time of writing is in Beta added VMWare support. This is a feature i was looking forward to. And couldn&#8217;t wait to give this [...]]]></description>
			<content:encoded><![CDATA[<p>Zend Studio added a new great <a href="http://www.zend.com/en/products/studio/vmware-workstation-deployment#discount">feature</a> to there already impressive stack of features. The IDE just keeps growing in the right direction. </p>
<p>So the new 8 version which at the time of writing is in Beta added VMWare support. This is a feature i was looking forward to. And couldn&#8217;t wait to give this a try. So when i got a email that the new beta is out. I didn&#8217;t wait and downloaded the behemoth.</p>
<p>Adding VMWare support to the IDE seems like a logical thing to do. Specially since everything is virtualized now a days. I thought about this a while. But you can use it in different setups. For me it is an extra on my development environment. I&#8217;m a big Linux enthusiast. But at the office i work on windows. So now i can develop in my own virtual Linux environment. But it&#8217;s also a great solution for running Unit Test on a production VM. Or just to test on a production VM.</p>
<p>My first try was on my OS of choice which is Ubuntu. That however didn&#8217;t go to well. As soon as i started the &#8220;Run as VMWare application&#8221; my IDE would die on me. I quickly gave up on this mainly because i am running Maverick which is not considered stable. And VMWare already had some problems building the kernel modules. If anybody is interested in the crash logs. I still have some.</p>
<p>So back to windows. Windows 7 in particular. I always keep a Windows partition laying around. For games and stuff. So i downloaded the following files.</p>
<blockquote><p>
* Ubuntu-Server<br />
* Zend Studio 8 Beta (<a href="http://www.zend.com/en/products/studio/download-8-beta">trial</a>)<br />
* VMWare 7.1.2        (<a href="http://downloads.vmware.com/d/info/desktop_downloads/vmware_workstation/7_0">trial</a>)
</p></blockquote>
<p>Installing VMWare and Zend Studio is a since. Nothing to make note off here. After that was done i installed Ubuntu 10.04 Server edition. And installed Zend Server inside of it. That should be all.. right? So let&#8217;s launch the IDE and give it a shot. Well it launched but i got back an error like below.</p>
<p><a href="http://lenss.nl/wp-content/uploads/2010/09/zend-server-vm-noconnect.png"><img src="http://lenss.nl/wp-content/uploads/2010/09/zend-server-vm-noconnect_s.jpg" alt="" title="zend-server-vm-noconnect_s" width="500" height="157" class="aligncenter size-full wp-image-874" /></a></p>
<p>At first i had no clue what was going on. But i had the feeling there was something wrong with the VMWare client tools. After digging through the Zend Studio manual i found the <a href="http://files.zend.com/help/Beta/Zend_Studio_8_0/zend-studio.htm#integrating_with_vmware_workstation.htm">answer</a> The &#8216;hgfs&#8217; was not mounted on teh client OS. And this was because the vmware tools did not have enough libraries to build everything. To build the complete VMWare tools on the client OS we need</p>
<blockquote><p>
* gcc<br />
* make<br />
* build-essential<br />
* linux-headers-(current version)
</p></blockquote>
<p>When that&#8217;s done it necessary to attach the linux version of the VMWare tools to the virtual CDRom drive. So we can mount it inside the VM.</p>
<blockquote><p>/usr/lib/vmware/isoimages/linux.iso</p></blockquote>
<blockquote><p>
mount /dev/cdrom /mnt
</p></blockquote>
<p>Copy the file somewhere and unmount the /mnt or the build will fail. Unpack the VMWare tools and run the perl script inside to install. Once that&#8217;s done follow the VMWare instructions. Or reboot the VM.</p>
<p>Now we are all set. Now it&#8217;s just a matter of writing code. And running it on the VM. When running an application as a VMWare application the IDE syncs the files with the shared folder on the VM. After that the internal browser is launched to see the result.</p>
<p>The first time you will be asked for the VM to use. Just point it to the VM image created by VMWare.</p>
<p><a href="http://lenss.nl/wp-content/uploads/2010/09/selectvm.png"><img src="http://lenss.nl/wp-content/uploads/2010/09/selectvm_s.jpg" alt="" title="selectvm_s" width="500" height="157" class="aligncenter size-full wp-image-872" /></a></p>
<p>When no VM is active when launching the application. Zend Studio will trigger VMWare to launch the VM.</p>
<p><a href="http://lenss.nl/wp-content/uploads/2010/09/launchvm.png"><img src="http://lenss.nl/wp-content/uploads/2010/09/launchvm_s.jpg" alt="" title="launchvm_s" width="500" height="157" class="aligncenter size-full wp-image-866" /></a></p>
<p>Some output in Zend Studio</p>
<p><a href="http://lenss.nl/wp-content/uploads/2010/09/resultvm.png"><img src="http://lenss.nl/wp-content/uploads/2010/09/resultvm_s.jpg" alt="" title="resultvm_s" width="500" height="157" class="aligncenter size-full wp-image-868" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://lenss.nl/2010/09/zend-studio-goes-virtual/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Zend Framework Bootstrapping Modules</title>
		<link>http://lenss.nl/2010/02/zend-framework-bootstrapping-modules/</link>
		<comments>http://lenss.nl/2010/02/zend-framework-bootstrapping-modules/#comments</comments>
		<pubDate>Sat, 06 Feb 2010 20:04:38 +0000</pubDate>
		<dc:creator>Thijs Lensselink</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Bootstrap]]></category>
		<category><![CDATA[Modules]]></category>
		<category><![CDATA[Zend]]></category>
		<category><![CDATA[Zend Framework]]></category>

		<guid isPermaLink="false">http://lenss.nl/?p=692</guid>
		<description><![CDATA[I am working on a small API for my own backend and i wanted a modular architecture. I have done this before using the Zend Framework. But this time i wanted a bit more control while loading the modules. And adding a Bootstrap class would seem like a good option. The only example i could [...]]]></description>
			<content:encoded><![CDATA[<p>I am working on a small API for my own backend and i wanted a modular architecture. I have done this before using the Zend Framework. But this time i wanted a bit more control while loading the modules. And adding a <a href="http://framework.zend.com/manual/1.10/en/zend.application.quick-start.html">Bootstrap</a> class would seem like a good option. The only example i could find involved loading all bootstraps on every request. Which doesn&#8217;t seem like a good idea. So after reading through the Manual and some blog posts. I decided to give it s shot my self.</p>
<p>The structure i want looks like this.</p>
<p><a href="http://lenss.nl/wp-content/uploads/2010/02/module-based.jpg"><img src="http://lenss.nl/wp-content/uploads/2010/02/module-based.jpg" alt="" title="module-based" width="318" height="327" class="aligncenter size-full wp-image-701" /></a></p>
<p>The application.ini file has the following contents:</p>
<blockquote><p>includePaths.library = APPLICATION_PATH &#8220;/../library&#8221;<br />
bootstrap.path = APPLICATION_PATH &#8220;/Bootstrap.php&#8221;<br />
bootstrap.class = &#8220;Bootstrap&#8221;<br />
resources.frontController.moduleDirectory = APPLICATION_PATH &#8220;/modules&#8221;<br />
resources.modules[] = &#8220;default&#8221;<br />
resources.modules[] = &#8220;admin&#8221;</p></blockquote>
<p><strong>includePaths</strong><br />
This sets the applications local library location. Any shared code for this application goes here.</p>
<p><strong>bootstrap.path &#038; class</strong><br />
Define the location and type of the Bootstrap class.</p>
<p><strong>resources</strong><br />
Define the modules location and create a list of modules.</p>
<p>The main Bootstrap class</p>
<p><strong>application/Bootstrap.php</strong></p>
<pre name="code" class="php">
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
</pre>
<p>Load the config parameters for this application and set some debugging settings if needed.</p>
<pre name="code" class="php">
    protected function _initConfiguration()
    {
    	$app = $this->getApplication();
    	$config = $app->getOptions();

    	if (APPLICATION_ENV == 'development') {
	    	    error_reporting(E_ALL &#038; E_STRICT);
	    	    if (isset($config['phpsettings'])) {
		    	        foreach ($config['phpsettings'] as $setting => $value) {
		    		        ini_set($setting, $value);
		    	        }
	    	    }
    	}
    }
</pre>
<p>We need autoloading here because we are using a class from the application library. Right now this causes a problem. A notice is thrown </p>
<blockquote><p>Warning: include_once(FrontController.php) [function.include-once]: failed to open stream: No such file or directory in Zend/Loader.php  on line 147</p></blockquote>
<p>The application responds fine. And this problem seems to be a recurring issue (<a href="http://framework.zend.com/issues/browse/ZF-7224">ZF-7224</a>, <a href="http://framework.zend.com/issues/browse/ZF-7550">ZF-7550</a>) for the framework. Until now i have not find a graceful fix for this. besides a small <a href="http://framework.zend.com/issues/secure/attachment/12131/BootstrapAbstract.patch">patch</a> reversion.</p>
<pre name="code" class="php">
    protected function _initAutoload()
    {
		    $autoloader = Zend_Loader_Autoloader::getInstance();
		    $autoloader->setFallbackAutoloader(true);

		    return $autoloader;
    }
</pre>
<p>Setup the controller to register the <strong>Bluess_Modules_Loader</strong> plug-in. And set the <strong>prefixDefaultModule</strong> parameter so we can prefix the default module controllers as well. Just for the sake of consistency. The <strong>Bluess_</strong> namespace is part of my API. And can be changed at will.</p>
<pre name="code" class="php">
   protected function _initController()
    {
    	$this->bootstrap('FrontController');
    	$controller = $this->getResource('FrontController');
       $modules = $controller->getControllerDirectory();
       $controller->setParam('prefixDefaultModule', true);

        $controller->registerPlugin(
               new Bluess_Modules_Loader($modules)
        );

        return $controller;
    }
</pre>
<p>Now the last method. which is a bit weird. And i am probably missing a key factor here. But if this method <strong>resource</strong> is not declared only the default module functions. When declared empty all modules function as they should. This would indicate that this method could be used to load the modules. But i haven&#8217;t found a way to achieve this yet. Except for loading all modules in a row. Which makes no sense for this purpose. So we leave it empty.</p>
<pre name="code" class="php">
protected function _initModules()
    {
		// Call to prevent ZF from loading all modules
    }
</pre>
<p>The most important part here is the controller plug-in. This will be the place where module bootstraps are called from.</p>
<p><strong>application/../library/Bluess/Modules/Loader.php</strong></p>
<pre name="code" class="php">
class Bluess_Modules_Loader extends Zend_Controller_Plugin_Abstract
{
	protected $_modules;
</pre>
<p>Setup the plug-in by passing the applications module list.</p>
<pre name="code" class="php">
	public function __construct(array $modulesList)
	{
		$this->_modules = $modulesList;
	}
</pre>
<p>The <strong>dispatchLoopStartup</strong> method will be called on every request and will do the magic. Based on the current module name we create a new <strong>Zend_Application</strong> with the current modules config file <strong>module.ini</strong>. And we bootstrap it.</p>
<pre name="code" class="php">
	public function dispatchLoopStartup(Zend_Controller_Request_Abstract $request)
	{
		$module = $request->getModuleName();

		if (!isset($this->_modules[$module])) {
			throw new Exception("Module does not exist!");
		}

		$bootstrapPath = $this->_modules[$module];

		$bootstrapFile = dirname($bootstrapPath) . '/Bootstrap.php';
        $class         = ucfirst($module) . '_Bootstrap';
        $application   = new Zend_Application(
        	APPLICATION_ENV,
    		APPLICATION_PATH . '/modules/' . $module . '/configs/module.ini'
		);  

        if (Zend_Loader::loadFile('Bootstrap.php', dirname($bootstrapPath))
        	&#038;&#038; class_exists($class)) {
            $bootstrap = new $class($application);
            $bootstrap->bootstrap();
        }
	}
}
</pre>
<p>Now setup the default module. Once this is done it&#8217;s a nice example for further modules. Make sure the module has it&#8217;s own layout set. </p>
<p><strong>application/modules/default/configs/module.ini</strong></p>
<blockquote><p>default.resources.layout.layout = &#8220;default&#8221;<br />
default.resources.layout.layoutPath = APPLICATION_PATH &#8220;/modules/default/layout&#8221;</p></blockquote>
<p>Setup the modules bootstrap and use it to set the modules model location.</p>
<p><strong>application/modules/default/Bootstrap.php</strong></p>
<pre name="code" class="php">
class Default_Bootstrap extends Zend_Application_Module_Bootstrap
{
	protected $_moduleName = 'default';

	protected function _initConfiguration()
    {
		$options = $this->getApplication()->getOptions();

    	set_include_path(implode(PATH_SEPARATOR, array(
		    realpath(APPLICATION_PATH . '/modules/' . $this->_moduleName . '/models'),
		    get_include_path(),
		)));

		return $options;
    }
}
</pre>
<p>That&#8217;s all. Now make sure your layout is set correctly and the controllers are prefixed</p>
<p><strong>application/modules/default/layout/default.phtml</strong></p>
<pre name="code" class="php">
echo $this->layout()->content;
</pre>
<p><strong>application/modules/default/controllers/IndexController.php</strong></p>
<pre name="code" class="php">
class Default_IndexController extends Zend_Controller_Action
{
</pre>
<p>It took me a while to get this working like i had it in my mind. But it&#8217;s going the right way. If your interested in a working copy. You can download one <a href="http://lenss.nl/code/ZFBootstrappedModules.tar.gz">here</a>.</p>
<p><strong>UPDATE</strong></p>
<p>Matthew has a nice <a href="http://weierophinney.net/matthew/archives/234-Module-Bootstraps-in-Zend-Framework-Dos-and-Donts.html#extended">post </a>about some do&#8217;s and don&#8217;ts concerning module based applications</p>
]]></content:encoded>
			<wfw:commentRss>http://lenss.nl/2010/02/zend-framework-bootstrapping-modules/feed/</wfw:commentRss>
		<slash:comments>25</slash:comments>
		</item>
		<item>
		<title>Zend Server CE MyPHPAdmin mysqli not loaded</title>
		<link>http://lenss.nl/2009/05/zend-server-ce-myphpadmin-mysqli-not-loaded/</link>
		<comments>http://lenss.nl/2009/05/zend-server-ce-myphpadmin-mysqli-not-loaded/#comments</comments>
		<pubDate>Thu, 07 May 2009 09:57:49 +0000</pubDate>
		<dc:creator>Thijs Lensselink</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[phpmyadmin]]></category>
		<category><![CDATA[Zend]]></category>

		<guid isPermaLink="false">http://lenss.nl/?p=438</guid>
		<description><![CDATA[The last time i installed Zend Server i did it from source. Now it was time for the Ubuntu package manager to do it for me. I&#8217;ll spare you the install process. Since it&#8217;s documented well by the Zend team. After the install i walked through all pages of the ZS GUI. And all seemed [...]]]></description>
			<content:encoded><![CDATA[<p>The last time i installed <a href="http://www.zend.com/products/server/">Zend Server</a> i did it from source. Now it was time for the Ubuntu package manager to do it for me. I&#8217;ll spare you the install process. Since it&#8217;s <a href="http://files.zend.com/help/Zend-Server/zend-server.htm#deb_installation.htm">documented</a> well by the Zend team.</p>
<p>After the install i walked through all pages of the ZS GUI. And all seemed to work great. So i checked the repository if there were anymore packages i could add to the ZS setup. And found the <a href="http://www.phpmyadmin.net/">myphpadmin</a> package. Just what i needed. And as i remember this was missing from the previous version. So i installed the package. And the GUI now showed a link to the phpmyadmin application. But when triggering the page i was confronted with an error message. </p>
<p><a href="http://lenss.nl/wp-content/uploads/2009/05/mysqli_error_zs.jpg"><img src="http://lenss.nl/wp-content/uploads/2009/05/mysqli_error_zs-300x14.jpg" alt="mysqli_error_zs" title="mysqli_error_zs" width="300" height="14" class="aligncenter size-medium wp-image-436" /></a></p>
<p>So mysqli was not loaded. Well that&#8217;s possible of course. But the repository showed it was installed. And so did the <a href="http://www.php.net/phpinfo">phpinfo()</a> page.</p>
<p><a href="http://lenss.nl/wp-content/uploads/2009/05/phpinfo_mysqli_zs.jpg"><img src="http://lenss.nl/wp-content/uploads/2009/05/phpinfo_mysqli_zs-220x300.jpg" alt="phpinfo_mysqli_zs" title="phpinfo_mysqli_zs" width="220" height="300" class="aligncenter size-medium wp-image-437" /></a></p>
<p>So after looking around the config files for a while. It hit me. The ZS GUI is running on <a href="http://www.lighttpd.net/">lighttpd</a> and not apache. And just as i expected. Apache loaded the mysqli extension. But lighttpd didn&#8217;t.</p>
<p>A work around for this problem would be to leave of the :10081 port number in the GUI URL. So it points to 127.0.0.1/myphpadmin/. Or add the extensions to the lighthttpd setup. But adding a single line to the php-fcgi.ini file.</p>
<blockquote><p>$ vi /usr/local/zend/gui/lighttpd/etc/php-fcgi.ini<br />
$ extension=mysqli.so</p></blockquote>
<p>This makes it possible to load phpmyadmin from the GUI. But the mysqli missing error is still displayed. So it&#8217;s probably better to load it over Apache. I tried to find a bug report link or something for the ZS project but couldn&#8217;t find any&#8230;&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://lenss.nl/2009/05/zend-server-ce-myphpadmin-mysqli-not-loaded/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zend Server Community Edition Beta!</title>
		<link>http://lenss.nl/2009/02/zend-server-community-edition-beta/</link>
		<comments>http://lenss.nl/2009/02/zend-server-community-edition-beta/#comments</comments>
		<pubDate>Sat, 21 Feb 2009 08:30:11 +0000</pubDate>
		<dc:creator>Thijs Lensselink</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Zend]]></category>
		<category><![CDATA[ZendServer]]></category>

		<guid isPermaLink="false">http://lenss.nl/?p=282</guid>
		<description><![CDATA[This week Zend released a Beta version of the new Zend Server and Zend Zerver CE (Community Edition). So last night i couldn&#8217;t sleep and decided to take a look at the CE version of the two. Zend Server CE The package is a nice stack of applications / components that build up a solid [...]]]></description>
			<content:encoded><![CDATA[<p>This week <a href="http://www.zend.com/">Zend</a> released a Beta version of the new <a href="http://www.zend.com/en/products/server/">Zend Server</a> and <a href="http://www.zend.com/en/community/zend-server-ce">Zend Zerver CE</a> (Community Edition). So last night i couldn&#8217;t sleep and decided to take a look at the CE version of the two. </p>
<p><strong>Zend Server CE</strong><br />
The package is a nice stack of applications / components that build up a solid PHP development environment. The package consists of the following main parts. And of course some 3rd party libraries to support the PHP extensions.</p>
<p><a href="http://www.php.net/">PHP v5.2.8</a><br />
<a href="http://httpd.apache.org/">Apache v2.2.10</a><br />
<a href="http://files.zend.com/help/Zend-Server-Community-Edition/zend-server-community-edition.htm">Zend Data Cache v4.0.32</a><br />
<a href="http://downloads.zend.com/pdt/server-debugger/">Zend Debugger v5.2.17</a><br />
<a href="http://www.zend.com/en/products/guard/">Zend Guard Loader v3.3.5</a><br />
<a href="http://www.zend.com/en/products/platform/product-comparison/java-bridge">Zend Java Bridge v3.1.21</a><br />
<a href="http://www.zend.com/en/products/guard/optimizer/">Zend Optimizer+ v4.0.27</a><br />
<a href="http://framework.zend.com/">Zend Framework v1.7.4</a></p>
<p>Like i said it&#8217;s a great stack of applications and components that gives you a solid PHP development environment up and running in seconds. On top of that it provides the nice looking web GUI in which you can easily configure most of the suite. It&#8217;s a breeze to activate or deactivate PHP extensions and Zend components. And almost all PHP ini settings can be configured here as well. There&#8217;s some logging functionality that&#8217;s always handy. </p>
<p><del datetime="2009-02-21T23:18:56+00:00">Although it would have been nice if there would be some way to configure the web server from the interface as well. And maybe some integration with <a href="http://pear.php.net">PEAR</a>?</del> It would have been nice if the web interface had some configuration options for Apache and <a href="http://pear.php.net">PEAR</a> as well. But besides that. I like the package and think Zend did a great job on this one. The application is pretty self explanatory so i will not spend more words on it. Besides Zend did a great job at documenting it all.</p>
<p><a href="http://www.zend.com/en/products/server/getting-started/?zsp=gettingstarted">http://www.zend.com/en/products/server/getting-started/?zsp=gettingstarted</a><br />
<a href="http://files.zend.com/help/Zend-Server/zend-server.htm">http://files.zend.com/help/Zend-Server/zend-server.htm</a></p>
<p>Below i posted some screen shots of Zend Server CE in action:</p>
<div id="attachment_291" class="wp-caption aligncenter" style="width: 310px"><a href="http://lenss.nl/wp-content/uploads/2009/02/zs_dash.png"><img src="http://lenss.nl/wp-content/uploads/2009/02/zs_dash-300x154.png" alt="Zend Server Dashboard" title="Zend Server Dashboard" width="300" height="154" class="size-medium wp-image-291" /></a><p class="wp-caption-text">Zend Server Dashboard</p></div>
<p>After logging in we are greeted with a nice dashboard screen. That provides shortcuts to the rest of the application. </p>
<div id="attachment_310" class="wp-caption aligncenter" style="width: 310px"><a href="http://lenss.nl/wp-content/uploads/2009/02/zs_server.png"><img src="http://lenss.nl/wp-content/uploads/2009/02/zs_server-300x154.png" alt="Zend Server info" title="Zend Server info" width="300" height="154" class="size-medium wp-image-310" /></a><p class="wp-caption-text">Zend Server info</p></div>
<p>The Server info page shows everything running under the hood of Zend Server CE.</p>
<div id="attachment_297" class="wp-caption aligncenter" style="width: 310px"><a href="http://lenss.nl/wp-content/uploads/2009/02/zs_extensions.png"><img src="http://lenss.nl/wp-content/uploads/2009/02/zs_extensions-300x155.png" alt="Zend Server PHP extensions" title="Zend Server PHP extensions" width="300" height="155" class="size-medium wp-image-297" /></a><p class="wp-caption-text">Zend Server PHP extensions</p></div>
<div id="attachment_299" class="wp-caption aligncenter" style="width: 310px"><a href="http://lenss.nl/wp-content/uploads/2009/02/zs_extension_turnoff.png"><img src="http://lenss.nl/wp-content/uploads/2009/02/zs_extension_turnoff-300x154.png" alt="Zend Server turn off extensions" title="Zend Server turn off extensions" width="300" height="154" class="size-medium wp-image-299" /></a><p class="wp-caption-text">Zend Server turn off extensions</p></div>
<p>Configuring and activating or deactivating PHP extension sis a breeze.</p>
<div id="attachment_287" class="wp-caption aligncenter" style="width: 310px"><a href="http://lenss.nl/wp-content/uploads/2009/02/zs_components.png"><img src="http://lenss.nl/wp-content/uploads/2009/02/zs_components-300x155.png" alt="Zend Server application components" title="Zend Server application components" width="300" height="155" class="size-medium wp-image-287" /></a><p class="wp-caption-text">Zend Server application components</p></div>
<div id="attachment_289" class="wp-caption aligncenter" style="width: 310px"><a href="http://lenss.nl/wp-content/uploads/2009/02/zs_components_turnoff.png"><img src="http://lenss.nl/wp-content/uploads/2009/02/zs_components_turnoff-300x154.png" alt="Zend Server turn off components" title="Zend Server turn off components" width="300" height="154" class="size-medium wp-image-289" /></a><p class="wp-caption-text">Zend Server turn off components</p></div>
<p>The same counts for the Zend components which can be configured and activated or deactivated at will.</p>
<div id="attachment_301" class="wp-caption aligncenter" style="width: 310px"><a href="http://lenss.nl/wp-content/uploads/2009/02/zs_ini.png"><img src="http://lenss.nl/wp-content/uploads/2009/02/zs_ini-300x155.png" alt="Zend Server PHP directives" title="Zend Server PHP directives" width="300" height="155" class="size-medium wp-image-301" /></a><p class="wp-caption-text">Zend Server PHP directives</p></div>
<p>Configuring PHP ini settings has never been this easy</p>
]]></content:encoded>
			<wfw:commentRss>http://lenss.nl/2009/02/zend-server-community-edition-beta/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>SVN over SSH in Zend Studio for Eclipse</title>
		<link>http://lenss.nl/2008/08/svn-over-ssh-in-zend-studio-for-eclipse/</link>
		<comments>http://lenss.nl/2008/08/svn-over-ssh-in-zend-studio-for-eclipse/#comments</comments>
		<pubDate>Thu, 21 Aug 2008 09:13:18 +0000</pubDate>
		<dc:creator>Thijs Lensselink</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[SSH]]></category>
		<category><![CDATA[subclipse]]></category>
		<category><![CDATA[SVN]]></category>
		<category><![CDATA[tortoise]]></category>
		<category><![CDATA[Zend]]></category>

		<guid isPermaLink="false">http://lenss.nl/blog/?p=123</guid>
		<description><![CDATA[This should be pretty damn straight forward. However i ran into some problems while setting this up. At my daily work spot we use SVN over HTTP so we can do NTLM authentication. This sucks in many ways. But most of all it&#8217;s slow. And i mean really slow. Last week i tried to retrieve [...]]]></description>
			<content:encoded><![CDATA[<p>This should be pretty damn straight forward. However i ran into some problems while setting this up. At my daily work spot we use <a href="http://subversion.tigris.org/">SVN</a> over <a href="http://nl.wikipedia.org/wiki/Hypertext_Transfer_Protocol">HTTP</a> so we can do <a href="http://en.wikipedia.org/wiki/NTLM">NTLM</a> authentication. This sucks in many ways. But most of all it&#8217;s slow. And i mean really slow. Last week i tried to retrieve the log information for a project in the repository. This took my IDE 30 minutes. At first i thought my IDE was just being lame on me. But it turns out it&#8217;s SVN over HTTP that&#8217;s the culprit. </p>
<p>So i started to do some testing over the standard svn:// protocol. And retrieving the logs on the same repository took about 2 seconds. Amazing. That&#8217;s enough reason to switch to the svn:// protocol. This however was not possible. Because our network policy doesn&#8217;t allow for multiple log ins. All is centrally stored on some M$ domain controllers. That&#8217;s why SVN over HTTP was used in the first place. End of story i thought. </p>
<p>But i couldn&#8217;t let go of this. The situation becomes less workable every day. So i decided to look around for other options. When i notice some log ins were merged to the *nix boxes. i immediately thought about using SSH in combination with SVN. Logging in on the *nix box was no problem. So let&#8217;s try that with SVN.</p>
<blockquote><p>svn+ssh://location/of/repo</p></blockquote>
<p>This gives an error about a mismatched handshake. And i just couldn&#8217;t get this to work until i found a post made by <a href="http://www.woodwardweb.com/java/000155.html">Martin Woodward</a>. He explains how to setup an environment variable on my local windows machine. To the tortoise PLink executable.</p>
<blockquote><p>Set the environment variable (by right-clicking on My Computer, Properties, Advanced, Environment Variables, New):-<br />
Variable name: SVN_SSH<br />
Variable value: C:\\Program Files\\TortoiseSVN\\bin\\TortoisePlink.exe</p></blockquote>
<p>This seemed to work i thought. i was presented with a login box. But no matter how i tried i couldn&#8217;t login. It just kept giving me the login box. So i opened a SSH session to the server and tried to do the same from there.</p>
<blockquote><p>svn list svn+ssh://location/of/repo</p></blockquote>
<p>After hitting enter i typed my password and got the following message.</p>
<blockquote><p>bash: line 1: svnserve: command not found<br />
svn: Connection closed unexpectedly</p></blockquote>
<p>Now we&#8217;re getting somewhere. So svnserve could not be found. Probably because it&#8217;s not in the $PATH variable. So let&#8217;s add it there.</p>
<blockquote><p>vi .bashrc<br />
PATH=$PATH:/usr/local/bin</p></blockquote>
<p>So let&#8217;s try to get a listing of the repo.</p>
<blockquote><p>svn list svn+ssh://location/of/repo</p></blockquote>
<p>This gave me the following message:</p>
<blockquote><p>svn: No repository found in &#8216;svn+ssh://location/of/repo&#8217;</p></blockquote>
<p>Seems that when you use SVN over SSH you need to give the full location to the repository. Not the web server path but the complete file system path. After changing the webserver path for the file system path everything worked out. From here on adding the repository to eclipse is easy.<br />
I always open the repository view. From there i right click > New > repository Location. The URL to add will look something like</p>
<blockquote><p>svn+ssh://file/system/location/of/repository</p></blockquote>
<p>So now we can enjoy the speed of the svn:// protocol. And the security of SSH. So let&#8217;s do some coding :)</p>
]]></content:encoded>
			<wfw:commentRss>http://lenss.nl/2008/08/svn-over-ssh-in-zend-studio-for-eclipse/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Zend_Filter_Inflector and the CamelCaseToUnderscore filter</title>
		<link>http://lenss.nl/2008/08/zend_filter_inflector-and-the-camelcasetounderscore-filter/</link>
		<comments>http://lenss.nl/2008/08/zend_filter_inflector-and-the-camelcasetounderscore-filter/#comments</comments>
		<pubDate>Wed, 20 Aug 2008 13:23:14 +0000</pubDate>
		<dc:creator>Thijs Lensselink</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[Inflector]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Zend]]></category>

		<guid isPermaLink="false">http://lenss.nl/blog/?p=119</guid>
		<description><![CDATA[I was thinking about how to add theme support to an application that makes use of the Zend_Layout component. When i came across the Zend_Filter_Inflector class. This looks interesting. From teh ZF manual: Zend_Filter_Inflector is a general purpose tool for rules-based inflection of strings to a given target. This little class makes it easy to [...]]]></description>
			<content:encoded><![CDATA[<p>I was thinking about how to add theme support to an application that makes use of the Zend_Layout component. When i came across the Zend_Filter_Inflector class. This looks interesting. From teh ZF manual:</p>
<blockquote><p>Zend_Filter_Inflector is a general purpose tool for rules-based inflection of strings to a given target.</p></blockquote>
<p>This little class makes it easy to convert string to for instance paths. Anyway. i was trying to configure this class in my Bootstrap class. And run into some problems. I was testing the example in the manual. which makes use of the Zend_Filter CalemCaseToUnderscore. But when i reloaded my page instead of the usual output i was treated by an error.</p>
<pre name="code" class="php">
$inflector = new Zend_Filter_Inflector(':script.:suffix');
$inflector->setRules(array(
    ':script' => array('CamelCaseToUnderscore'),
    'suffix' => 'html'
));
</pre>
<blockquote><p>Zend_Loader_PluginLoader_Exception: Plugin by name CamelCaseToUnderscore was not found in the registry. in Zend\Loader\PluginLoader.php on line 370</p></blockquote>
<p>When i looked at the structure of the Zend folder. I noticed the CamelCaseToUnderscore filter was not available in the root of the Filter directory. Instead it&#8217;s placed inside the Filter/Word directory. So i prefixed the class name with Word_. And this works fine. The code now looks like this.</p>
<pre name="code" class="php">
$inflector = new Zend_Filter_Inflector(':script.:suffix');
$inflector->setRules(array(
    ':script' => array('Word_CamelCaseToUnderscore'),
    'suffix' => 'html'
));
</pre>
<p>it&#8217;s a minor issue but i reported <a href="http://framework.zend.com/issues/browse/ZF-4011">it</a> anyway.</p>
]]></content:encoded>
			<wfw:commentRss>http://lenss.nl/2008/08/zend_filter_inflector-and-the-camelcasetounderscore-filter/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Zend Framework is confused</title>
		<link>http://lenss.nl/2008/06/zend-framework-is-confused/</link>
		<comments>http://lenss.nl/2008/06/zend-framework-is-confused/#comments</comments>
		<pubDate>Mon, 23 Jun 2008 14:46:41 +0000</pubDate>
		<dc:creator>Thijs Lensselink</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Zend]]></category>
		<category><![CDATA[Zend Framework]]></category>

		<guid isPermaLink="false">http://we.designandco.de/?p=15</guid>
		<description><![CDATA[I decided to give the Zend Framework a try. The first attempt to create a simple SOAP based login. In the first few hours i had absolutely now problems building my small application. But for some strange reason after a few hours ZF started to throw error&#8217;s. Mainly for files it was trying to include. [...]]]></description>
			<content:encoded><![CDATA[<p>I decided to give the <a href="http://framework.zend.com/" target="_blank">Zend Framework</a> a try. The first attempt to create a simple SOAP based login.</p>
<p>In the first few hours i had absolutely now problems building my small application. But for some strange reason after a few hours ZF started to throw error&#8217;s. Mainly for files it was trying to include. These files were in the correct location. Nothing changed. The include path was still set correctly. I found a few bug reports with similar problems. Although there were some solutions. I was not satisfied with them. And had the feeling the problems were caused by something else.</p>
<p>So after i read threw all code. I notice a few lines i copied from <a href="http://www.calevans.com/" target="_blank">Cal Evans</a> <a href="http://phparch.com/c/books/id/9780973862157" target="_blank">book</a>. These lines mainly set the include_path for the current application. And it looked something like this:</p>
<pre name="code" class="php">$lib_paths = array();
$lib_paths[] = "/path/to/application";
$lib_paths[] = "/path/to/library";
$inc_path = implode(PATH_SEPARATOR, $lib_paths);
set_include_path($inc_path);</pre>
<p>I noticed the application directory was added first. So this is also the first part where PHP starts looking for it&#8217;s include files. So i decided to switch them. So the code looks like this now:</p>
<pre name="code" class="php">$lib_paths = array();
$lib_paths[] = "/path/to/library";
$lib_paths[] = "/path/to/application";
$inc_path = implode(PATH_SEPARATOR, $lib_paths);
set_include_path($inc_path);</pre>
<p>After this change the problem seems to have been resolved. I still would like to figure out why ZF has problems with finding it&#8217;s own include files. Maybe it&#8217;s a combination of the wrong include order and the .htaccess file not working well together.</p>
]]></content:encoded>
			<wfw:commentRss>http://lenss.nl/2008/06/zend-framework-is-confused/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dutch PHP Conference 2008 :) +20%</title>
		<link>http://lenss.nl/2008/06/dutch-php-conference-2008-20/</link>
		<comments>http://lenss.nl/2008/06/dutch-php-conference-2008-20/#comments</comments>
		<pubDate>Tue, 17 Jun 2008 12:41:38 +0000</pubDate>
		<dc:creator>Thijs Lensselink</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[dpc08]]></category>
		<category><![CDATA[IBuildings]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Zend]]></category>

		<guid isPermaLink="false">http://we.designandco.de/?p=10</guid>
		<description><![CDATA[I wanted to finish this post last weekend, But i was feelings so bad (flew). I haven&#8217;t really been near my computer untill now. So here goes. Last Saturday me, Bart and Robbert headed over to the second edition of the Dutch PHP Conference. After getting the name tags. We headed over to the main [...]]]></description>
			<content:encoded><![CDATA[<p>I wanted to finish this post last weekend, But i was feelings so bad (flew). I haven&#8217;t really been near my computer untill now. So here goes. Last Saturday me, Bart and Robbert headed over to the second edition of the <a href="http://phpconference.nl/" target="_blank">Dutch PHP Conference</a>. After getting the name tags. We headed over to the main room. Where i scored a nice <a href="http://www.phpwomen.org/" target="_blank">PHPWoman</a> t&#8217; shirt for my wife :) Not much later the first keynotes started.</p>
<p>The first keynote was by <a href="http://suraski.net/blog/" target="_blank">Zeev</a>. Which i had high hopes for. It&#8217;s a opportunity to hear one of the guys that made PHP to what it is. Give a talk. It was mainly about the history of PHP. Because nobody in the audience seemed to know about it. Or they just wanted to hear it from the master himself. I don&#8217;t know. I enjoyed the talk.</p>
<p>After Zeev <a href="http://mtabini.blogspot.com/" target="_blank">Marco Tabini</a> hit the stage. Which was pretty funny. This guy has a way of talking. And his slides connect to that perfectly. It was amusing and interesting. Although i had some problems getting comfortable in the main room chairs. the name of the talk was &#8220;PHP and the Taste of Mayo&#8221;. And it was mainly about keeping it simple. And choosing the right tools for the job.</p>
<p>After the keynotes it was time for lunch. Because i was feeling a bit sick i wasn&#8217;t really hungry. But the food was good. All kinds of sandwiches and the tasty <a href="http://nl.wikipedia.org/wiki/Saucijzenbroodje" target="_blank">saucijzenbroodjes</a>. Just good variety. Outside we sniffed some fresh air.. And tried to figure out to which talk we wanted to go. Since we don&#8217;t do anything with unit testing at the moment. We decided to go to <a href="http://sebastian-bergmann.de/authors/1-Sebastian-Bergmann">Sebastian Bergmann</a>&#8216;s talk about <a href="http://sebastian-bergmann.de/archives/795-New-Features-in-PHPUnit-3.3.html" target="_blank">PHPUnit 3.3</a>.</p>
<p>Sebastian quickly skimmed through the basics of PHPUnit. How to create a test class and the use of mock objects. After that he showed some new features in PHPUnit 3.3. One of wich is based on behavior based development. It was a story based testing. With the use of method chaining phrases can be build to execute the execute scenario&#8217;s. I have to say it&#8217;s a strange way. And the code looks kinda weird. I had the feeling Sebastian was also not to happy about it. I guess he tries to keep his users happy. He dropped some words about a new project. I think it was PHP Depend. But i kinda forgot. Couldn&#8217;t find any info about it on the net. So we keep that for another time. I had the feeling Sebastian was rushing a bit. He didn&#8217;t have enough time. But it was good talk. His slides can be found <a href="http://sebastian-bergmann.de/archives/795-New-Features-in-PHPUnit-3.3.html" target="_blank">here</a>.</p>
<p>After the first talk we took something to drink and walked around a bit. Waiting for the next talk to start. We decided to go to <a href="http://mayflower.de/" target="_blank">Mayflower</a> and <a href="http://www.sektioneins.de/" target="_blank">Sektioneins</a> security talk. Which was something different then i expected. It was not as technical as i had hoped. But it touched some nice topics. I had hoped <a href="http://www.hardened-php.net/index.24.html" target="_blank">Stefan Esser</a> would be there also. But <span class="speakerName">Johann-Peter Hartmann did a great job. The talk was</span> mainly was about Risk assessment. How to identify risk points in your application flow. And how to anticipate to those points. The talk also showed some malicious web trends. Some nice graphs that hacking web applications is not for fun anymore.</p>
<p>When the second talk was over we went outside. i was feeling pretty bad. Seems every time when there&#8217;s a conference i come down with the flew. Was thinking about going home. But decided i didn&#8217;t want to miss the last two talks. So we headed back to the main room. After getting a nice cold coke. We picked some nice seats and waited for <a href="http://www.priebsch.de/" target="_blank">Stefan Priebsch</a> to begin his talk about PHP 5.3 and PHP 6. This was one of the best talks i think. it was pretty interesting to hear about some new features. Although i knew about most. There was a bit of e discussion about namespaces. Some guy in the audience was screaming for attention. Although he made some points. I had the feeling i was sitting near a real life troll :) Anyway Stefan&#8217;s talk was good. A bit of irony about the up coming PHP 6 with Unicode support. And some new features in PHP5.3 like, Garbage Collection, SPL, Late static binding which was very interesting. With some nice examples. I ended with a small plug for his new book. Which you can buy over at <a href="http://www.phparch.com/" target="_blank">PHP|Architect</a>. The slides for his talk can be found <a href="http://www.slideshare.net/spriebsch/php-53-and-php-6-a-look-ahead-dpc-2008-amsterdam/" target="_blank">here</a>.</p>
<p>The final talk was given by <a href="http://terrychay.com/" target="_blank">Terry chay</a> (the PHP terrorist). I looked forward to this talk. I heard and read a lot about his way of presenting in front of a crowd. And i can tell you. This guy rocks. The talk was of course not without some <a href="http://www.rubyonrails.org/" target="_blank">Ruby on Rails</a> bashing. I had to say this was one hell of an inspiring talk. The talk was titled The Internet is an Ogre: Finding Art in the internet Architecture. His talk was about what he called the four s&#8217;s (Stability, Scalability, Speed, and Security). How to build an application the right way. From the bottom up. I didn&#8217;t find any slides to the talk yet. They will probably pop up somewhere.</p>
<p>After the last talk ended. All speakers got on stage and received some goodies and a big applause from the audience. The conference was over. And because i wasn&#8217;t feeling to well. I went home immediately. Overall i think it was a great day. I learned some new thing. Witch for me is the main thing about conferences. On our way out we picked up a goody bag. Which had a very nice t&#8217; shirt. And some promotion materials. Thanks to all the people who made this happen. And hope till next year</p>
<p>By now some pictures are apearring on <a href="http://www.flickr.com/photos/tags/dpc08" target="_blank">flickr</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://lenss.nl/2008/06/dutch-php-conference-2008-20/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->
