Date: 2010.03.26 | Category: Uncategorized | Response: 0

I’ve heard from so may people that one way to truly boost your PHP programming skills is to design and build your own framework. Then, throw it away! That’s the important bit, after building it you must throw it away and use a well maintained peer reviewed Framework (for example Zend Framework, Symphony or Agavi).

Today I decided to put on my war paint and become a man. I’m building and MVC PHP Framework called the Edu Framework (Edu – get it?).

As I have mainly used the Zend Framework in the past I imagine that it will look like a very basic version of Zend Framework with a Front Controller, Action Controllers, Request / Response Objects and a view. The fun part is that I’ve decided to not look under the hood of the Zend Framework until I have reached version 1.0 of Edu. Instead I will rely of Martin Fowler’s – POEAA , The Gang of Four and the many articles written about the famous MVC implementation on the net.

In addition to building the framework I have also set myself the task of achieving a high Joel Test Score. Although I already use source control I will have to learn how to unit test, create a deployment process, a bug tracker and put in place a myriad of other techniques Joel mentions in his infamous article.

Tonight’s work consisted of setting up the project environment (installing Ubuntu, LAMP, SVN, PHP Unit and Xdebug). Over the weekend I’m going to come up with a rough UML design of the framework and post it. I will also create a project bug tracker.

Finally in addition to hopefully learning more about PHP and software development my ultimate goal is to have a presentation to give at the unconference at the Dutch PHP conference. If your planning to attend this year I hope you’ll drop by.

Date: 2010.02.01 | Category: Uncategorized | Response: 1

I have finally arrived home after the PHP Benelux Conference in Antwerp. It was an excellent conference.

There were some truly excellent sessions at the conference, good mix of technical presentations and more abstract sessions on emerging technologies and management.

I arrived in Antwerp on Friday with Roan Merewood (who’s talk I unfortunately did not manage to attend), we went our separate ways at the conference Hotel and I checked into my own Hotel and created the first video blog post. I later attended the social in Antwerp itself, although a little far away from the conference venue it was nice to meet with the speakers and organisers on a informal basis.

The first session I attended was “Dependancy Injection in php 5.3” by Fabian founder of the Symphony project. It was a good talk, he started with the real basics of dependency injection and quickly scaled this up to a trivial example and then went on to implement a very impressive DI container in just 40 lines of code. What made his talk even more interesting was the use of two PHP 5.3 features, lambda functions and closures. I’d never seen these features demonstrated before and will certainly check out his code and play with it.

After this I stayed in the main track for “The Sate of SOAP” with David Zuelke. I liked David’s approach, he again outlined the real basics of SOAP first and continued to highlight the more advanced features such as class mapping I’d never used before. He also introduced me to automatic WSDL creation and gave tips on how to overcome some of the common pitfalls you might encounter when trying to expose more complex methods over soap.

Moving into track two after lunch I attended Kore Nordmann’s “Couch DB, PHP and PHPillow” presentation. With no previous experience in non relational databases I found this talk interesting, but a little hard to follow. To understand more I think I will have to download his slides and experiment a little. One concept I did find quite interesting is that it has an almost entirely restful interface. This means you can communicate with the database purely via HTTP.

After sitting on the couch with Kore I stayed in track two for Ivo Jansch’s “PHP & The Cloud”. This was a good introduction to the three main cloud solutions ranging from IaS (Infrastructure as a service), PaS (platform as a service) and SaS (software as a service). He highlighted the fact that at the moment the cloud is perceived mostly as a fad with few people utilizing it to it’s full potential. However in the next three years this is likely to change rapidly. Deploying on the cloud will become the de facto standard and as developers, to stay in the game we must take steps to prepare for this.

I left Ivo’s talk knowing more about the types of cloud solutions available but more importantly with a mind to develop new code with an eye to scalability. I’ll be downloading his slides to look at before starting my next project to get back into this mindset and to look at the some of the solutions he proposed.

Interestingly the next talk was given remotely, with no speaker on the stage. Eric Ritchie was unable to make the conference due to the snow that had fallen over night. Luckily he already had the tools in place to deliver his content remotely. I had been particularly looking forward to this subject as PDF generation is such a difficult thing to do well. He proposed a fairly simple solution using Zend Framework (and Zend View) with Java Bridge. He used Zend View to create templates with a special form of XML, it looked quite simple during the talk. I hope it is easy to replicate his methods when I attempt this in the future.

The closing keynote was given by Cal Evans. I was a little dubious when he mentioned his talk would be primarily aimed at managers and team leaders. These fears were soon allayed however when he started talking with real passion about ‘open teams’. He took many of the qualities that make open source projects so inspiring to work for and showed how they could be adapted to fit into a corporate or business settings. His key message boiled down to (paraphrased):

“Developers want three things, respect, ownership and credit of their work and to maintain a good work life balance. By giving them these things you can increase the return on investment of your development team incredibly”.

I found his comments so insightful that I will remember them when looking for my next work place and implement them in the future should I be given the opportunity to lead or manage a team. Thanks Cal!

The conference social was probably the best conference social I have attended so far (including the one at DPC – which rocked!). The drink flowed freely courtesy of Ibuildings (thanks guys!), the food was really nice and the party culminated in some bowling. Jeremy (@phpcodemonkey) was good enough to show me how to improve my technique considerably.

The party finished at around 12pm, and I called a taxi and went back to my hotel. I then slept for ten solid hours.

AT the end of every conference I attend I make some resolutions on what steps to take to ‘up my game’ before attending the next one. Conferences tend to leave me with a feeling that I need to ‘Up my game’, PHP Benelux was no exception:

Conference Resolutions

  • Start Unit Testing!
  • Install Xdebug
  • Experiment with continuous integration (long term)
  • Download the slides on Soap, Open teams, Dependency Injection and Cloud Computing. Also link up all me colleges who may find this info useful.

I’d like to take this opportunity to thank all the organisers of the conference for the great job you did. The event ran very smoothly, the content was superb and the social was really memorable. I’ll be watching twitter for the announcement of #phpbnl11, as this event was so popular I don’t want to miss the next!

To all my newly made friends, I look forward to seeing you in London for PHPUK.

Content Links:

Dependancy Inject Slides:

http://www.slideshare.net/fabpot/dependency-injection-with-php-53

SOAP Slides:

http://www.slideshare.net/Wombert/the-state-of-soap-in-php-3029206

Cloud Slides

http://www.slideshare.net/ijansch/php-and-the-cloud (couldn’t find the most recent version of these slides?)

Date: 2010.02.01 | Category: Uncategorized | Response: 0

My video blog round up of PHP Benelux 2010. Great conference!

PHP Benelux Day +1 from Ben Waine on Vimeo.

Ben

Date: 2010.02.01 | Category: Uncategorized | Response: 0

First video blog from the PHP Benelux. I must invest in better video recording equipment.

PHP Benelux Day -1 from Ben Waine on Vimeo.

Ben

Date: 2010.01.29 | Category: Conference | Response: 0

I’m writing this from Manchester airport.

After a very early start (6am) I’m now waiting with Roan (@roan_m) for the gate to be called.

I’m very much looking forward to some of the great talks scheduled for tomorrow. So far I think I will attend the following:

I think I’ll get most out of the dependency injection talk and the generating PDF talk. I’m planning to blog about both of these subjects when the conference is over.

Some pictures of the journey so far:

More later when I arrive in Brussels.

Ben

Date: 2010.01.21 | Category: Uncategorized | Response: 2

In about three weeks time I’m looking forward to taking part in some Zend Certification training at Leeds NTI (funded by the nice folks at twentysix).

After working with PHP for nearly two years I’m excited to be have been given the oportunity to gain the coveted title Zend Certified Engineer.

After doing some of the practise exams (buy them here), I’m starting to feel more confident. They provide a good way to structure your learning and highlight areas of PHP you may not use on a day to day basis.

They take the form of a 70 question multiple choice style test paper. Ninety minuets are allotted to complete the test. I find that one hour is sufficient, with the additional time required to check through the more tricky questions. Speaking of tricky questions,  the exam is littered with what could be considered ‘trick questions’. At first glance the answer seems evident however on closer examination a nuance of the language is used to produce the correct answer.

This inevitably produces a feeling of ‘exam paranoia’, I end up triple checking even the apparently easy questions.

I think the three day Zend Certification Course will help exorcise this feeling to some extent as the common ”gotchas’ that appear in the paper will be covered.

Wish me luck!

Ben

Date: 2010.01.20 | Category: Meta | Response: 0

Hi There,

Welcome to my new blog.

This blog will be a mix of technical posts on PHP, Zend Framework, Mysql,  Linux Administration and a few diary style posts from my Upcoming confrences.

This year I’m looking forward to PHP Benelux, PHP UK, DPC (hopefully!) and last but not least PHP NW.

PHP Benelux is just a few days away now,  I’m particulaly looking forward to Fabien Potencier’s talk on dependancy injection, a topic I’m only just getting my head rouns. Expect a full digest and my first code examples on here soon.

A few posts coming up:

Linux Basics: A PHP Developers tool box.

Zend Framework Projects 1 & 3: My first Zend Framework project was around 18 months ago, I’d like to think I’ve become a little bettwer at web development since then. I’ll be sharing some of my worst mistakes.

Wordpress On Rackspace: I’ve gone through hell setting up wordpress on my new rackspace box. I’ll outline the pitfalls i encountered.

More Posts coming soon.

Ben