Showing posts with label php. Show all posts
Showing posts with label php. Show all posts

Wednesday, February 03, 2010

PHPBenelux conference 2010 wrapup

This past weekend, Belgium was buzzing PHP all the way. PHPBenelux organized the first annual international PHP conference in Belgium and it can be called a true success. Attendees and speakers coming from all parts of the world made this event a true international conference and I was truly happy to be a part of it, this time as member of the organization.

Preparation
The months, weeks and certainly the days prior to the conference were hectic, stressful and sometimes energy draining. With lots of things that still needed to be done last minute, we have learned that we still have lots of room to improve ourselves for future events. But, as it is common to PHP development, we met our deadlines and saw everything was running smoothly.

Airport and train station runs
The conference had a few international speakers on the list, for who we had to ensure a smooth ride to the conference hotel. Stefan Koopmanschap picked up Cal Evans at Schiphol. Thijs Feryn went down to Antwerp Central Station to pick up Fabien Potencier, and had to do this 3 times returning each time without Fabien (read his blog article about what happend). I myself went to Brussels International Airport to pick up David Zülke and Rowan Merewood traveling together with Ben Waine.


Speaker's dinner and pre-conference social
As is custom to events like this, we organized as speaker's dinner where we invited our speakers and sponsors to participate in this socializing event where everyone has the opportunity to get to know each other, discuss topics and exchange ideas. We headed out to Da Giovanni, an Italian restaurant in the center of Antwerp that is known for it's overwhelming tacky design. Red-white blocked cloths everywhere: the shirts of the waiters, the tables and lamps. We had a decent meal and a very good laugh.
Following the dinner we also organized a pre-conference social in De Vagant, one of Antwerp's most known Jenever locations. This was open for everyone that was in the area and could make it to the place. But tiredness and pre-conference jitters had this social ended well before midnight.

The conference
Saturday was the big day, and what a day it was ! Sponsors arrived well in time to set up their booths and at about 8:30am the first attendees were coming in. Since it had snowed during the night, most attendees were a bit late so we started the sessions with a delay of 30 minutes (by lunch time we were already back on schedule).
After a short introduction by Stefan Koopmanschap, Derick Rethans officially opened the conference with his keynote talk "The PHP Universe", which was well accepted by the audience (See reviews on http://joind.in/1240). The following talks followed right after and filled the most of the conference.

Remote presentation
Due to bad weather, Zend's speaker Eric Ritchie couldn't make it to the conference, but by using WebEx we were able to have him present his talk "Generating dynamic PDFs using Zend Framework and JavaBridge" (http://joind.in/1268) from his office as though he was standing in the room. Although it was a bit tough to set up, I have to say it was successful fix for Zend, WebEx and us.

One downside of this approach is that Eric didn't had the chance to interact with the attendees himself during or after his keynote and as shown in the comments on joind.in there were still a few questions that the attendees wanted to clarify with Eric. So, in a technical perspective it can be called a success, but for the conference spirit it has a downside.

Closing Keynote
My personal mentor and dear friend Cal Evans was given the floor to present his closing keynote "Open Teams" (http://joind.in/1251) which was unlike the other talks not a technical subject, but non-the-less a very valuable view on how managers and developers can improve the way they operate. Unfortunately I missed this talk, but I'm looking forward seeing it on an other occasion. You can contact Cal and invite him to give this talk for the managers in your company, so your company can become "Company Awesome" everyone wants to work for.

Ibuildings Conference Social
The people of Ibuildings were really kind to sponsor the after-social event, held in the exhibition hall. Besides drinks and very delicious food, our other sponsors had some goodies to give away and so people walked away with an iPhone and Zend Studio licenses, a ticket for PHPBenelux Conference 2011, a ticket for PHPUK 2010, Windows 7 licenses, a netbook (provided by Nocus) and of course elePHPants. So a big applause to the winners and of course our sponsors for providing these awesome prizes.

Sponsors
This great conference wasn't possible without the help of our sponsors, and we all thank them for making this first conference the best start of 2010. Thank you !!!


PHP is hot !
Apparently PHP is hot, hotter then ever. At the conference, a lot of people not only attended the great sessions, but they were also looking for new PHP developers to join their teams. And they were not just giving you a great job, they even offered some real nice goodies when you signed up:
If you're a company and you're looking for PHP Rock stars, see how you can persuade them to at least talk to you. Make sure you have seen the slides of Cal Evans's talk about "Open Teams", cause if you can offer this, you do have the advantage !

PHPBenelux Team
This conference succeeded because of the never-failing, passionate help and support by the whole PHPBenelux team. I have worked in many teams already, but I have to say that working with these guys on a remote basis (all using Skype, Google docs and e-mail as main communication and collaboration tools) worked very well (as to emphasize what Cal Evans stated in his "Open Teams" talk) and everyone was there to see the result.

Teamies, thanks a lot for this wonderful experience and I'm looking forward doing the things we do best: community relations, meetings and events ! You guys rock !!!

PHPBenelux team by @phpcodemonkey

Conclusion
This was the first conference that I not only attended, but was actually involved behind the scenes. It was a great experience and I have now more respect to organizers of bigger conferences now that we know what kind of challenges they have to overcome.

Read what others had to say about our conference:
I had a blast and I hope you all enjoyed it. See you all next year at the PHPBenelux Conference 2011, and let us know how to improve ourselves for next years' conference at joind.in !!!

Tuesday, December 29, 2009

A great 2009 !

It's that time of year again where one looks back to all the things that have happened in the past 12 months. 2009 has to be the most thrilling, fastest ride ever and I'm really surprised to see it's nearly the end of this year.

PHP
The most thrilling part of 2009 was the release of PHP 5.3 on June 30. With this release, PHP has risen to a new level of development implementing some long awaited features like DateTime, namespaces, closures, gotos (who wants to use that ?!?), late static binding and an improved garbage collection. Also new extensions were added to this release like ext/phar, ext/fileinfo and ext/intl.
I want to express my gratitude to all those developers who have made this release possible and to all the participants of PHP Test Fest for making their contributions worth the while.

Zend Framework
It's also worth mentioning that Supreme Allied Commander Matthew Weier O' Phinney, his team and all developers around the world have done a great job improving Zend Framework. With the release of Zend Framework 1.8, lot's of things changed within the way applications are being bootstrapped and provided a more flexible way to deploy feature rich applications with a very modular structure.

PHP Conferences
For me personal it was a very exciting year where I was speaking at some great conferences on stage and in uncon sessions (thank you Keith!). If budget allows it, I'll be attending these conferences again in 2010.
One conference will be added to this list in 2010 since I'll be co-organizing it: PHPBenelux Conference.
If you ever want to catch up on the hottest game in PHP, be sure to check out these and other great PHP conferences on the PHP website. You'll learn so much from the conference itself, the speakers and the audience itself, it's really worth the money.


Macq Electronique
Since March of this year I've been working as a PHP/Zend Framework consultant for Macq Electronique, a hardware manufacturer in Brussels that provides hardware solutions for governments (like automated traffic panels, speed enforcement cameras, tunnel control and pump installation monitors). I would like to thank the company for giving me inside view of these infrastructures and I'm excited to work with them again in 2010.


Thank you !
I would like to express my gratitude to the following people who have thought me a few valuable lessons that I can use in my personal and professional life:
  • Cal Evans:
    Cal, to you we now have our own PHP conference in January. Without your support, advise and never ending belief in us, we weren't able to pull it off. Thank you !
  • Matthew Weier O'Phinney:
    Matthew, although we never had the chance to sit down and discuss things I do want to thank you for all the good work you have done for Zend Framework and the PHP Community. If it wasn't for you, I'd still be stuck writing crappy code with code replication and re-inventing the wheel all over again. Thank you !
  • Keith Casey:
    Keith, thanks to you I was able to talk about stuff that matters to me and being able to inspire people to become interested in things like SPL and Unit Testing. Thank you !
  • Stefan Koopmanschap:
    Stefan, although it seems I've been giving you lots of advice this year, you have shown me what a true spirit means. With your enormous passion for PHP and your ideas to promote PHP in ways that I never could think possible, I owe you so much. Thank you my friend !
  • Chris Cornut:
    Chris, I would like to thank you for giving us Joind.in. With it's simple interface and it's purpose it has given me so much feedback on how to improve my skills as a speaker. Without it, I would never known what areas I could improve myself. So thank you very much for your efforts !
Conclusion
2009 was a great year and I'm sorry to see it end. But a new year is around the corner and who knows, it might bring even more excitement and fulfillment. Anyways, I wish you all a very happy new year and I hope to see you again at a conference somewhere in the world.

Sunday, November 01, 2009

Unit testing with Zend Framework 1.8+

I recently gave a presentation at ZendCon 2009 Uncon about "php unit with Zend Framework", which many people liked a lot (see comments on http://joind.in/638). But since then I got a lot of questions how to set up a testing environment for Zend Framework applications that uses version Zend Framework 1.8 or newer.

We start off by setting our environment best fitted for our unit testing. I use a virtual linux system for this, using VMWare, but with some extra background research these global settings can be applied for your own (test) environment as well.

I'm not going to explain how to install PHP here, but I can tell you I'm using PHP 5.3.0 (build from source). With this build, I've installed PHPUnit 3.4.2 and Xdebug 2.0.5. The example application was made using Zend Framework 1.9.5.

First we're creating a new Zend Framework project using Zend_Tool on command line, by issuing the command zf create project zfunit in the workspace directory I use to share my VMWare instance with my workstation.

Ok, we now have a default Zend Framework application running.




We're not going to build a complete application here, but just showing how you can start unit testing your Zend Framework project, so you can implement unit tests on your own applications.

First we need to modify the phpunit.xml file so we can use it as our unit testing configuration.


<phpunit bootstrap="./TestHelper.php" colors="true">
    <testsuite name="Zend Framework Unit Testing">
        <directory>./directory>
    testsuite>

    <filter>
        <whitelist>
            <directory suffix=".php">../library/directory>
            <directory suffix=".php">../application/directory>
            <exclude>
                <directory suffix=".phtml">../application/directory>
            exclude>
        whitelist>
    filter>

    <logging>
        <log type="coverage-html" target="./log/report" charset="UTF-8" yui="true" 
         highlight="true" lowUpperBound="50" highLowerBound="80"/>
        <log type="testdox-html" target="./log/testdox.html" />
    logging>
phpunit>


As you see in the root node of our phpunit.xml file, we include the TestHelper script to aid us setting up the right testing environment. Of course, you can modify this file to fit your own application setup. This is my TestHelper script to set up my test environment, include paths and setting timezones.



// start output buffering
ob_start();

// set our app paths and environments
define('BASE_PATH', realpath(dirname(__FILE__) . '/../'));
define('APPLICATION_PATH', BASE_PATH . '/application');
define('APPLICATION_ENV', 'testing');

// Include path
set_include_path(
    '.'
    . PATH_SEPARATOR . BASE_PATH . '/library'
    . PATH_SEPARATOR . get_include_path()
);

// Set the default timezone !!!
date_default_timezone_set('Europe/Brussels');

// We wanna catch all errors en strict warnings
error_reporting(E_ALL|E_STRICT);

require_once 'ControllerTestCase.php';



We create a custom ControllerTestCase that we can extend in all our controller test cases. This proves to be the most convenient way to handle the setup and teardown of the Zend Framework architecture.



require_once 'Zend/Application.php';
require_once 'Zend/Test/PHPUnit/ControllerTestCase.php';

abstract class ControllerTestCase extends Zend_Test_PHPUnit_ControllerTestCase
{
    public $application;

    public function setUp()
    {
        $this->application = new Zend_Application(
            APPLICATION_ENV,
            APPLICATION_PATH . '/configs/application.ini'
        );

        $this->bootstrap = array($this, 'appBootstrap');
        parent::setUp();
    }

    public function appBootstrap()
    {
        $this->application->bootstrap();
    }
}



And finally we create our first test on the default IndexController.



require_once realpath(dirname(__FILE__) . '/../../ControllerTestCase.php');

class IndexControllerTest extends ControllerTestCase
{
    public function testCallingRootTriggersIndex()
    {
        $this->dispatch('/');
        $this->assertController('index');
        $this->assertAction('index');
    }
  
    public function testCallingBogusTriggersError()
    {
        $this->dispatch('/bogus');
        $this->assertController('error');
        $this->assertAction('error');
        $this->assertResponseCode(404);
    }
}



Running phpunit from commandline will tell you that your assertions succeeded and all is a go.



All green, assertions succeeded and report is generated.

I've setup my test environment that directory log/report is aliased by /report, so I can view the code coverage reports (requires XDebug).
The following code coverage report is the result.


As you can see, with just a minimal effort you've set up your Zend Framework application to be unit tested. So now you don't have any more excuses to leave your applications untested.

Since I don't have all the knowledge, I would like to thank Matthew Weier O' Phinney and Mathias Geat for sharing their knowledge on the subject. Thanks guys !

Sunday, October 25, 2009

ZendCon 2009 Review

If you're involved with PHP and you haven't heard of ZendCon before, you have been around the wrong croud!

The past week was reserved for the biggest PHP event of the year bringing you the best of the best the open-source and commercial world have to offer developers and businesses. And it rocked, big time!

With a full day of tutorials and three days of top-notch presentations given by people that make things happen in the PHP ecosystem, you got a real bargain for your money.

Besides these brain overloading sessions, Keith Casey, king of the uncon sessions, hand-picked the best sessions rated and presented by the audience itself. And even though the main conference was mindblowing, Keith made sure that people had a hard time choosing between main tracks and uncon sessions. Job well done Keith !!!

I was scheduled for three uncon sessions myself.

On Monday I talked about unit testing with PHPUnit and Zend Framework.

On Tuesday Anna Filina, Bradley Holt and I talked about the role of PHP user groups and provided tips on (re)starting a user group, how to get involved with open-sourse projects and how to get sponsorships from local businesses and big enterprises. I made a recording of the session, but sound quality is poor, so I need more work on it to improve it. Stay tuned for more.

On the third day I was scheduled for my "SPL, not a bridge too far" session but I (and others) were a bit too late for such an early schedule due to the fact that Microsoft was giving an awesome party downtown San Francisco to celebrate the release of Windows 7.
Because we parked our rental car in a car park that closed around midnight, we were happy we could join other conference attendees and speakers on a party bus bringing us back to the hotel where we arrived at about 4am.

Conversations on community stuff with Keith Casey and Anna Filina kept us out of bed until way passed 5am leading up to the fact that I arrived late at my own session scheduled for 8am.
Luckily no one was there to miss me, but still… ariving late at your own gig is so 80's.

For those that couldn't make it to San Jose, you could follow along on IRC channel #zendcon, Twitter and Flickr. Even some Google Waves and Youtube movies were spotted here and there.

A few good things were braught to the attention of all attendees.
  • people and businesses should get more involved in contributing back to the open source projects they use themselves
  • there is no best framework out there so look for the one that best fit your needs
  • there's a lot of talent out there that's not supported enough by the company they work for to become educated on advanced topics or even get certified
  • beware of the weierophinney !!!

Conclusion

ZendCon proved to be the top-notch PHP conference of this year, seeing lots of old and new friends giving the best of themselves. Like the German PHPcc who gave an awesome amount of tutorial, main and uncon sessions, my dear friend and genius Matthew Weier O' Phinney who was more on stage then amongst the audience and of course Keith Casey, who ruled the uncon sessions in a magnificent way.
But to be honnest, ZendCon would not exist without the community that gave us PHP, Zend along with S&S for organizing this event and the sponors that pushed the ticket prizes down to an affordable level. Thank you all and see you next year at ZendCon10.

Saturday, October 10, 2009

Spl Not A Bridge Too Far phpNW09

This morning I had the honor to speak at the PHP North West (phpNW09) conference in Manchester (UK) about SPL. It was almost a full room and it was wonderful to see and hear people being impressed what SPL can mean for them, so I believe it was a good session.

For those who attended my talk, you can leave your comments and feedback at http://joind.in/613 and be sure to rate the conference itself at http://joind.in/event/view/70.

Thursday, September 24, 2009

Bughuntday: yes, you can!


Last week Thursday the start was given to Zend Framework's Bughuntday and it turned out to be a huge success, as mentioned by Chief Architect Matthew Weier O' Phinney on Zend's DevZone website.

Over a hunderd bugs were squashed leading up to the release of Zend Framework 1.9.3.

What is Bughuntday ?
Bughuntday is actually a term to indicate that on a specific day (or days), lots of developers are focussing their attention to fix bugs, often reported by users in a bug tracking tool (like Jira, Mantis or Bugzilla).

Since lots of users have submitted issues and only a few developers have time to investigate them, extra help is always welcome to clear a backlog of reported issues.

So, each year a "Bughuntday" is scheduled to have many developers fix issues in a relative short timeframe.

You can help !
Fixing bugs for Zend Framework is a very good way to learn best coding practices or parts of the framework you're not familiar with.

Go over to the Zend Framework Issue Tracker and look for bugs that are still open.

If you already signed the Zend CLA, you're good to go. If you haven't done this, now is a good time to do so.

Get the latest revision from http://framework.zend.com/svn/framework/standard/trunk/, which includes the library, unit tests, external libraries and documentation.

In case of emergency
If you're stuck, or you have created a patch to fix an issue, head over to #zftalk.dev on IRC (freenode) where you can ask for help.

The Zend Framework Bughuntday is held each third Thursday and Friday of the month and each month prizes are given to the top 3 fixers.

If your company uses Zend Framework, see if you cannot make it a company thing. The quality improvement of Zend Framework will be a great benefit for your company as well.

Saturday, September 05, 2009

Speaking at PHPNW09

It's almost fall again and it's amazing to see how many great conferences are scheduled. Seems impossible to choose between great talks given by the best developers worldwide.

One of those great conferences is held in Manchester, UK. It's PHPNW09 with an awesome schedule listing well known and lesser known people from the international PHP community (like Stefan Koopmanschap, Derick Rethans, Lorna Mitchel, Rob Allen and many more). This year I'm on stage too talking about the Standard PHP Library or SPL.

Something that I really like about the PHP community is that we all help each other getting better at the things we do. After I gave my SPL talk at DPC 09 earlier this year, I got so many responses and pointers on the presenter rating site Joind.in which were very helpful improving this presentation.

So, if you have a day to spend on PHP, come and join us at PHP North West conference 2009. Prices are reasonable and flights are fairly cheap compared to the massive information overload you're about to absorb there.

Saturday, August 15, 2009

Book review: Mastering phpMyAdmin 3.1

A couple of weeks ago I received a book from PACKT Publishing titled "Mastering phpMyAdmin 3.1 for Effective MySQL Management" written by Marc Delisle, with the request if I could read it and write a review about it. Why not ? I haven't used phpMyAdmin in whole my career so I might as well read about the tool everyone around me is using. And since phpMyAdmin is also bundled with Zend Server, it can only benefit my day-to-day job.

On the front cover it states "Increase your MySQL productivity and control by discovering the real power of phpMyAdmin 3.1", so the book challenged me from the start. I have been using the MySQL command-line tool since forever so I was really curious about how this book could convince me to use phpMyAdmin from now on.

The first two chapters of this book are explaining what phpMyAdmin is all about and how you should install it, along with a very detailed security configuration part. A remarkable feature is that you can install it for multi-user hosting purposes, giving each user it's own MySQL toolset using just one installation.

Chapter 3 covers a very detailed explanation of each panel you see in the phpMyAdmin interface. Not only a mere statement that explains what each panel is used for, but also how you can modify this panel's behavior by modifying the configuration settings.

A hands-on example is covered in chapters 4, 5 and 6, where Marc takes you on a journey through all the steps of creating, inserting, browsing, modifying and removing tables and data. Although I was already familiar with MySQL's capabilities, I have to admit that by using a tool like phpMyAdmin your whole data management becomes more visible and gives you a certain amount of joy browsing through your data.

With MySQL on command line I could import/export my data and table structures in native SQL and XML, but with phpMyAdmin you can choose between 14 different export types. Although I believe that SQL will remain the main type used by many, it's good to know you have a tool available that can export data anyway you want.

Another cool feature I discovered by reading this book is that phpMyAdmin offers you the ability to manage relations between tables easily using the interface, but you can also create graphical relation diagrams that you can export into PDF.

With it's MySQL 5.0 and MySQL 5.1 support you also have the ability to manage the advanced MySQL toolset like triggers, stored procedures, functions and views. Having the ability to use these advanced MySQL capabilities in a graphical interface can only benefit it's usage amongst many developers.

But the best feature of phpMyAdmin is that you could have in-table MIME-type based transformations. So if you work often with BLOB data, you can now have it appear right in your interface as a download link or as a clickable thumbnail.

If you're new to phpMyAdmin or you just start using MySQL databases, this book gives you step-by-step instructions on how to use the interface to manage your data. But I think this book has even more value to the professional where this book is the perfect reference guide for all those advanced MySQL capabilities. I will certainly use phpMyAdmin more, having this book besides me to guide me the way.

Wednesday, June 17, 2009

Dutch PHP Conference 2009 wrapup

A couple of days ago I came home from one of the best PHP conferences in the world, Dutch PHP Conference 2009 with again a very elite list of speakers.


Day 0: Tutorial Day

Thursday, June 11 was tutorial day. A whole day dedicated at learning new things by the greatest PHP minds in the world.

I attended the "Zend Framework Workshop" by Matthew Weier O' Phinney, Chief Architect at Zend Framework.


I went to see this tutorial session to see all the goodies that are put in Zend Framework 1.8 and to learn how to do stuff better. Great stuff like Zend_Tool, Zend_Application and other Zend Framework components are worth checking out.


As it appears, I have to look into the Zend_Acl adapter using a configuration file or an external source and contribute my solutions to the Zend Framework wiki.


Afterwards a Belgian delegation went down-town Amsterdam to have dinner at an Italian place and a drink afterwards at "Leidse Plein".


Day 1


Day one was a very hectic day for me since I was scheduled to speak at 10:30am. But we'll get there in a minute.


Opening keynotes

Before the opening keynote of Cal Evans, Director of PCE at Ibuildings, an awesome animated movie was shown to the public.

Cal Evans talked about what everyone could expect at the conference, what the rules of engagement were and what tags to use during the conference (a very important note).

Andrei Zmievski opened the conference officially talking about "PHP: people, code and ideas". Too bad I had to flee the scene half way the presentation to set up my gear for my own talk about SPL.


Morning Sessions

I hosted a talk called "SPL, not a bridge too far" where I discussed on a low level (according to some, a bit too low) the funky features SPL brings to the table. And looking at the comments left on joind.in I actually got people interested in using SPL in their future development projects.
Too bad I cut it short, like most people mentioned, because there's a whole lot to tell about SPL. Thanks everyone for you feedback, I will definitely keep it mind to make my presentation better.


Ben Ramsey showed us that "Grokking the REST architectural style" is worth thinking about when dealing with REST web services. He also talked about ATOM as a protocol, and he really got me interested in it to find out more. Thanks Ben, it was awesome.


Afternoon Sessions

Matthew Weier O' Phinney impressed us all again with another talk about "Contribute" and what we developers could do to make a difference.
For everyone involved in open-source projects, a must see presentation and again lots of kudos to Matthew for bringing this point to the attention of the masses.


Unfortunately I missed Stefan Esser's talk about "Secure Programming with the Zend Framework" and I'm now waiting for the slides to appear online.


Closing talk of the day was Christian Wenz with "Web Accessibility - A Primer" about the directives to make your web applications more accessible. Although I do appreciate the topic, Christian listed many items straight from the W3C Website and read them out to the public.
A good topic but not much new stuff in it, if you've checked out the W3C Website already.


Speakers Dinner

In the evening the DPC crew had organized a speakers dinner, where all the great minds joined together enjoying talking with each other about PHP and other non-PHP related things.

After the dinner, a social event was held at the tiki bar Strand Zuid.


Back at the hotel I was engaged in a few conversations about Zend Framework and PHP in general. Although I enjoyed those conversations, ending up in bed at around 3:30am was certainly not good for getting up in time the following day.


Day 2

Still in a sleepy state of mind, I headed out to the conference for day 2 missing the opening keynote by Owen Byrne on "Digg: The first two years". But the coffee break afterwards I certainly attended.


Morning Sessions

Eli White introduced us to the wonderful world of scalable websites with his presentation "Habits of Highly Scalable Web Applications" and believe me, there are a few things that you might want to investigate further !


Then our dear friend, icon of the Dutch and Belgian PHPWomen and most definitely a great host Juliette Reinders Folmer (@jrf_nl) gave by far the best presentation at DPC titled "Everything you always wanted to know about UTF-8 (but never dared to ask)" where she takes you down the road of UTF-8 encoding issues and looks ahead of the nifty features PHP 6 brings to the table with it's Unicode support.

Since everyone rated this talk as "best talk ever", I won't be surprised to see it on the ZendCon 09 scedule (hint for @EliW) or on other major PHP conferences worldwide.


Afternoon sessions

After lunch I went to see Rob Allen to learn more about "Caching for Performance", but right in the middle of this very interesting session I had to bail because a mix-up with the hotel had taken place. Believing my room was booked until the 14th, I was surprised to hear I had to clean up my room. So I was rushing back to the hotel to get all my stuff.


When I returned, Lorenzo Alberton was already rounding up his talk about "Trees in the Database: Advanced Data Structures". Too bad, since I believe it was also a very good and interesting session.


Closing Keynote: The Cal & Ivo Show

Rounding up the conference, Cal Evans and Ivo Jansch were giving sit-in session where they invited 3 guests on stage to talk about PHP: Andrei Zmievski, Lorna Mitchel and Paul Reinheimer.

Although the discussions were very interesting, most of the attention was drawn to the big screen behind them where tweets and photos were shown that were taken, uploaded and tagged during the conference.


Afterwards drinks were served for attendees, but I had to catch my train ride back home so I couldn't stay to enjoy the good vibes DPC audience was generating, but even in my train I could feel the air buzzing PHP.


Conclusion

Ibuildings has done it again, DPC 2009 will certainly go in the history books as being the best conference ever !

Many thanks to the Cal, Ivo and all organizers, the Ibuildings Design team (for making an awesome video and creating very cool speaker avatars) and to the sponsors of the event (Zend Technologies, Inc., Oracle, IBM and Microsoft) for their participation in this event and lowering the price of the tickets.


If you missed the event, or you want to catch up on great talks and tweets about the talks, I've provided here a small list of important sources where you can find more about DPC 2009:

Thursday, May 28, 2009

php|tek 09 - Overview of an awesome conference


For those who just returned from outer-space, last week was PHP|Tek 09 in Chicago, IL, USA. By far the most intensive PHP conference ever, organized by PHP|Architect, the true PHP magazine. I give here my experiences as I have recorded them during these very intense days.

Tuesday, May 19
As it is common with many (PHP) conferences, the first day is often a tutorial day, where you get 3 hours of high quality tutorials given by the great minds within the PHP community.

I attended Ed Finkler's session on MVC development in PHP where he talked about the best practices on implementing MVC and what the differences were between several frameworks.

After lunch I headed out to PHP Code Review given by Stefan Priebsch, Sebastian Bergmann and Arne Blankerts, all three co-founders of the PHP Consulting Company.

Wednesday, May 20
Andrei Zmievski opened the conference with a very impressive key note about PHP 6 (after he could free himself being tied up in a dark room by Marco Tabini).

Cal Evans impressed us about using Zend Framework for CLI development explaining clearly how you can use the power of Zend Framework to kick of applications on your command line. Go Cal !

During the day I missed a couple of sessions because I had very interesting talks with other people there at the conference, but I managed to be back in time to watch Elizabeth M. Smith talk about SPL to the Rescue (a topic that I like so much, I'm going to talk about it myself at the Dutch PHP Conference). She did an amazing job explaining why one should use SPL in the first place and even got people motivated to help improve today's documentation of SPL on php.net website.

If you want to do unit testing on your (PHP) code, you must ensure you code is testable. Sebastian Bergmann has given a great session on Untestable Code, or which are the things you need to think about when writing code so it can be tested.

In the evening I was hosting an uncon session about PHPUnit testing and Zend_Test where I described the various ways to optimize your tests, how to test databases and how to test your Zend Framework application.

Thursday, May 21
If you wanted to know what's included in the PHP 5.3 releases, you should have attended Sara Golemon's session PHP 5.3 - Hot or Not ? where she actually gives you more insight great features that have been added to the PHP 5.3 releases, besides namepsaces.

For all those new to Linux, check out Linux-Fu given by Lorna Mitchel where you get an explenation about the tools that are really useful on your command line. Also good if you don't use a mouse.

Eli White has given us more insight in the fundamentals of software development with his session The Knight Rider Methodology to Software Development where he's comparing situations that Michael Knight and KIT were in with situations software developers come accross.

Lorna Mitchel and Stefan Koopmanschap gave us more insight into the community behind php with their session A Guide to Using and Understanding the Community. Since this talk was so great, they repeated this session on Friday for recording purposes.

During the uncon sessions I was hosting a round table discussion about PHP user groups and what can be done to draw more attention to these user groups, how to start up with one or how to restart a dorment user group. Getting lots of feedback, I'm going to add all this information into a presentation that can be called the 101 on php user groups. Also keep an eye out for Clark Everetts website about this session, because he has written down lots of stuff.

Friday, May 22
Closing keynote was provided by Terry Chay, the guru of explicit presentations. Since you know you're in for a treat, people were counting Terry's f-bombs while enjoying his talk. A video recording was made so you can count f-bombs and enjoy the show yourself as well.

Immediately afterwards I attended an uncon session from Paul M. Jones about Benchmarking PHP Applications where Paul made a great comparison between frameworks and franchising your business. Awesome presentation and I'm looking forward attending more sessions of Paul.

Closing the conference, I hosted my last uncon session about implementing Continuous Integration step-by-step, where I discussed the common situations all developers have seen leading towards an automated integration system using the tools best fitted to do the job.

Final notes on this conference
This was the best PHP conference ever, where talks were given targeting intermediate to high levelo developers, awesome catering and lots of fun after-hours. I want to express my great gratitude to all that were responsible organizing this event and I'm looking forward attending next conferences.

If you weren't there, I want to suggest attending next year's conference. You learn so much in the mids of everyone who's involved with PHP core, PHP applications or PHP services. If you can't get an answer there, don't bother become a PHP developer.


Thursday, May 21, 2009

PHP|Tek 09 - Uncon session: PHPUnit testing to Zend_Test

At the first day of PHP|Tek 09 I presented a session on Unit testing using PHPUnit, starting off with a simple example to explain unit testing and ending with testing a Zend Framework application using the application bootstrap.

If you attended this session, I'd love to hear from you at http://joind.in/442

Monday, May 11, 2009

PHP Test Fest 2009

For those who haven't heard about it, last Saturday was PHP Test Fest 2009, and here in Belgium it was organized by PHPBelgium at the new Combell location in Ghent.

We decided to test the SQLite3 extension, and we also had two people writing tests for LDAP. With a nice end result of 24 tests written for SQLite3 and 9 for LDAP, we are very pleased with the result since only 9 people attended our event.

Our mentor Felix De Vliegher  had given us a very clear instructions and apparently most attendees already had seen my (and other people's) slides on slideshare.net. See the pictures of those great moments on flicr.com.

All attendees did share a few common quotes afterwards:
  • "I learned so much here"
  • "Next year I come back"
  • "Shame on those who didn't come today"
I would like to express my gratitude for the PHP QA Team for organizing this event, to Combell for facilitating this event and providing us very nice sandwiches and drinks and to Ibuildings for providing us a USB stick where we can store our libs and tests on.

If I do get some "spare" time, I surely will keep on writing tests for the PHP core, because it is so important to ensure good code coverage on each and every PHP component.

In the time being, do check out the code coverage reports for PHP 5_3 and see for yourself that there's still a lot of work to be done to get everything in the green. So step up and help PHP helping you.

Thursday, April 09, 2009

Speaker at Dutch PHP Conference 2009


I'm happy to announce I'll be presenting a talk at the Dutch PHP Conference 2009 in Amsterdam, a yearly PHP conference organized by Ibuildings - The PHP Professionals. This conference is mainly for PHP developers, businesses, governments and educational institutes. But everyone is welcome to experience the warm, fuzzy and very social aspects of PHP and it's community.

My presentation "SPL, not a bridge too far" is actually an attempt to promote the usage of the Standard PHP Library. SPL provides so many features for iteration and array handling, but is not used or looked at by many developers. My goal is to show with examples that SPL can be a very powerful tool, and thus promoting the usage of SPL.

Dutch PHP Conference 2009 is the place to be this year for everyone who's involved with PHP, and the list of speakers is awesome: Matthew Weier O'Phinney, Derick RethansScot MacVicar, Eli White, Juliette Reinders Folmer and Maarten Balliauw (to name a few).

Ticket sale is now open. Get a € 100 early bird discount on a three-day ticket or € 55 on a ticket for Tutorial Day only, if you order your tickets before April 30, 2009. Go quickly to the registration page and get yourself a seat for the hottest PHP conference in Europe.

Monday, February 23, 2009

Feedburner move to Google error

This morning I checked my feedburner stats and I got a message I should move my feeds over to Google, and so I did.

I should have read Chris Shiflett's blog post first to prevent my feeds spamming the entire aggregated internet, in particular Planet-PHP.

So, I want to apologize to everyone for my massive spam on the various aggregation sites and a hint to Google: make sure you don't spam the internet while moving stuff from one place to another.

Wednesday, February 11, 2009

Fosdem 2009 in review

Last weekend I was at FOSDEM'09, Free and Open-Source Developers European Meeting, in Brussels (Belgium). Together with co-founder Felix De Vliegher and co-organizer Patrick Allaert we were promoting the mission of PHPBelgium, the largest PHP user group in Belgium.

Besides promoting PHP and the activities of the user group, we also promoted phpwomen.org, an international organization for women involved in PHP development. Men are also welcome there.

On days like these, we're a central point for information and people used the opportunity to ask us a lot of questions regarding PHP. Here is a top 5 of most asked questions:

1. Where can I/our company turn to for advanced PHP training courses ?
I believe Ibuildings, the PHP professionals, located in the Netherlands and UK, are the best sources to turn to regarding training courses for advanced PHP and certification.

Ibuildings provides standard PHP training courses, including courses from php|architect, but can also provide custom training courses that meet the requirements of your company needs. Training courses are given by Zend Certified Engineers (ZCE's) with years of hands-on experience in complex PHP projects. More information can be found at http://ibuildings.com/technology/training.

2. Is there a certification program for PHP developers (like for Java, .Net, ...) ?
Yes, there is. Zend Technologies, Inc. has two sorts of certifications: Zend Certified Engineer (ZCE) for PHP developers and Zend Framework Certified Engineer for Zend Framework developers.
Training courses are provided by Zend Partners or by Ibuildings in the Netherlands and UK.

3. Is PHP enterprise ready ?
Yes, PHP is enterprise ready. As of PHP 5.0 the language is object oriented, scalable and available on many platforms (Linux, Microsoft Windows 2008 Server and IIS7, IBM's i5 Series, ...).

Especially now with the credit crunch and the unclear (financial) future for many industries PHP offers a lower budget solution for many web based application needs.

Professional PHP services and consulting for enterprises and governements are provided by companies like Ibuildings, AUSY, OmniTi, and many more.

4. I'm from ..., is there a PHP user group in my neighborhood ?
Well, it's hard for us to know each and every PHP user group in the world, so I suggest to turn to Google, Yahoo or Live Search to locate a PHP user group in your area. Usually "php user group " would do the trick.


5. Where can I get more information about PHP ?
There are many great sites and blog posts on the internet about PHP and is thus impossible to list all of them here.

A few good resources to start with are:

Monday, January 05, 2009

Mapping Seven Things

Trying to get a bit of overview of all people who have put up their "Seven Things" list, I created a little map that shows who tagged who with an overview of the most tagged persons.

Check out the Seven Things map at http://in2it.be/whotaggedwho.php.

Saturday, January 03, 2009

Seven Things - Tagged by Rob Allen

I was surprised that I made it to the Seven Things thread started by Tony Bibbs, but Rob Allen was so kind to "tag" me and now it's my honor to find seven more victims.

Seven Things you might not know about me:
  • When I was 16, I had a private pilot license (PPL) learned at the Airport of Antwerp. The first year I managed to have enough flying hours to keep my permit but the second year I just couldn't find time to have the minimum required hours to keep my permit. Looking back at this moment in time, I do find it sad I didn't made the effort in maintaining this.
  • I graduated high-school as an accountant and had a job as a junior accountant at the Benelux head office of Century21, but after one month I was already convinced being an accountant was something I didn't wanted to do for the rest of my life. And never spoke of this part in my life again.
  • I never finished college. I was studying IT at the "Hogeschool Antwerpen" and after college hours I worked at the customer care center of an European ISP called World Online (no longer exists). When doing my second year IT they offered me a job as developer and I accepted the offer.
  • I met my wife during a LAN party at Telenet (Belgian Telco), where I was working as an in-house developer and my wife was on her last day as security guard (student job).
  • I'm Dutch, although I'm living in Belgium.
  • My wife told me we were pregnant on the last evening of ZendCon07 and I celebrated this news in a StarBucks shop just around the corner of the Motel6 I was staying at.
  • Our son was born on Father's day being the best gift a dad could wish for.
 Now it's my turn to tag people:
For my tagged victimes, do follow the following rules:
  • Link your original tagger(s), and list these rules on your blog.
  • Share seven facts about yourself in the post - some random, some wierd.
  • Tag seven people at the end of your post by leaving their names and the links to their blogs.
  • Let them know they’ve been tagged by leaving a comment on their blogs and/or Twitter.

Thursday, January 01, 2009

Looking back to 2008

First I want to wish everyone all the best for 2009 ! 2008 has been a very wonderful year and makes us looking positive to the future. To cope with the challenges we have to face in 2009, it doesn't hurt looking back to the past year and see where we can improve or act differently.


Let me go over a few keywords that had importance in 2008.

PHPBelgium
2008 was the year both Felix De Vliegher and I founded PHPBelgium, a PHP user group for PHP enthusiasts in Belgium. We had a slow start, but as the months passed by the popularity and importance of PHPBelgium grew. Not only for PHP enthusiasts but also for companies as Microsoft, O'Reilly, Ibuildings and AUSY. In October, Patrick Allaert joined our management team.

Besides providing best practices and presenting advanced programming topics, we also try to do as much as possible for the community by giving away elePHPants, books and tickets to PHP conferences (like ZendCon, php|works and phpnw).

phpGG
Besides a good start up for PHPBelgium, the Dutch counterpart phpGG had also a very successful re-start in 2008. With more meetings, activities and combining forces with PHPBelgium to organize two very succesful theme-days (PHP Test Fest and BugHuntDay), they now are the most important PHP user group in the Netherlands.

Baby Xander
For me personally, 2008 was the best year ever with the birth of our son Xander. In the past 6 months he has grown into a very curious, enthusiastic and happy baby boy. Both my wife and I enjoy each day we can spend with him, seeing him discovering new things, learning new stuff and becoming very familiar with his surroundings. It's like watching a million years of evolution taking place in only a few months.

Ibuildings
2008 is also the year for Ibuildings, becoming Europe's leading PHP professional services company. They first started in 1999 in Flushing, the Netherlands and extended their reach to the UK at the end of 2007. They are internationally credited as being an expert in PHP and related technologies, raising the bar on professional services and quality assurance. To quote the international PHP community: "Ibuildings is the new black", and I have to admit it's true.

Job Changes
I think 2008 is also the year where a lot of people changed jobs, including myself. But I think the most thrilling news was that Cal Evans changed shirts, from Zend to Ibuildings.

Namespaces
PHP 5.3 is about to reach its final stadium, but there was a HOT discussion for it's namespace implementation. I didn't follow the whole discussion, so I'm only reflecting here what the buzz was on almost all PHP channels.

Yes, we can !
2008 is also the year that an African-American won the presidential elections in the US. Although it has nothing to do with PHP, it sure is worth mentioning it here in my 2008 overview.

Obama's quote "Yes, we can !" does not only reflect on his mission in the White House but also for all PHP developers in the world. "Yes, we can !" will also be our default answer in regards to web application development, rich internet applications, social community projects and so much more. Yes, we can !

Zend Framework
I think it's fair to say that 2008 was also the year for Zend Framework, with over 10 million downloads (and counting), becoming the leading framework for enterprise web application development (and also large scale websites).

With the introduction of a certification exam for Zend Framework (ZFCE), Zend has enormously boosted the professional level of this powerful framework and with initiatives like BugHuntDay, the community involvement has increased a lot.

Also books like "PHP|Architect's Guide to programming with Zend Framework" by Cal Evans and "Zend Framework in Action" by Rob Allan, have boosted Zend Framework's popularity. And of course the many blogs and presentations that are too numerous to mention here have added their share to it's popularity.

Credit Crunch
We cannot neglect the fact that we're right in the middle of a financial crisis, refered to as the "credit crunch". I wish I could say it was something of 2008, but it will have effects in 2009 as well.

The credit crunch has effects in many industries, including the IT industry. Many large IT companies are faced with layoffs and this will continue to be a reality in 2009 as well.

But given the nature of PHP, being an open-source programming language, with a non-expensive nature and a rapid deployment history, this financial crisis might become a lucrative moment for PHP development in general. This thought is also shared by Ivo Jansch, CTO of Ibuildings who mentioned it in a blog post reflecting 2008.

Thank you !
Of course, 2008 has been a wonderful year for me, mostly because of you. Giving me constructive comments on my blog posts, meeting me at conferences and congratulating me on presentations that I share on slideshare.com. So, thank you for all the love !!!

Sunday, December 28, 2008

Book review: Zend Studio for Eclipse - Developer's Guide


Book: Zend Studio for Eclipse, Developer's Guide
Authors: Peter MacIntyre and Ian Morse
Publisher: Addison-Wesley Pearson Education

Description
Zend Studio for Eclipse, Developer's Guide from Addison-Wesley Pearson Education is a guide to Zend Studio for Eclipse (ZSE) for intermediate to advanced developers.

The book has 18 chapters, with the first 16 covering the different views and preference settings for each specific task. The first 5 chapters are explaining basically the layout of the Eclipse working environment, with a focus on how to modify these views for your own benefit. The last 2 chapters are devoted to working out an example application using ZSE with Zend Framework.

Personal opinion
This book is in my opinion a beginner's guide into using ZSE, aiming at PHP developers that have a knowledge of general concepts like versioning, debugging and refactoring. I personally was hoping to see advanced settings to tune the IDE into a powerful developer's tool, but it was merely a basic explanation with the correct terminology for a product that I've been using well over two years now (yes, I was also beta-tester for it).

Conclusion
If you're new to Eclipse in general and specifically Zend Studio for Eclipse, I believe this book is going to be a valuable asset. It will not only give you insight in how the Eclipse IDE works, but it shows you also the possibilities to turn this into a very powerful tool for building PHP applications.

But if you're already a ZSE veteran I'd have to advice not to buy this book since it has no extra value then to explain the settings/views you've been using all along.

Thursday, December 11, 2008

Successful 6th annual FeWeb Conference

Yesterday evening I attended the 6th annual FeWeb Conference in Edegem, Belgium with my Ibuidlings collegues Ivo Jansch, Harrie Verveer and Bjorn de Haan. Also fellow co-founder of PHPBelgium and soon-to-be collegue Felix De Vliegher was there. According to their own blog over 200 persons attended this year's event that had several short tech-tracks and 3 key notes.

I first attended the "Battle Flash vs AJAX" between Peter Elst and Peter-Paul Koch and although it wasn't really a battle, it became clear that there's much to say about RIA's in general.
You can find the presentation on slideshare (where else ?).

After the break FeWeb chairman Marc Mestdagh announced the planning for 2009, followed by handing out awards to the FeWeb Quality Label winnars (Webdoos, 2MPact and Media Mates).

Wim Roggeman of the Belgian Internet Service Providers Association (ISPA) talked about copyrights and the new social infrastructure of the Internet today. Nice to see that he's using the succesful computer gaming industry as a showcase how the music industry should work today.

Final keynote was given by Luc Beirens, chief of police for the Federal Computer Crime Unit (FCCU), where he gave an interesting talk about e-crime today and how cyber criminals use the same networks as we to operate (except they're not as visible). A few interesting facts he mentioned were:
  • India has now "cyber soliders"
  • There are still many security issues related to input validation and filtering
  • Identity theft will become a serious threat
  • There's a need for a global jurisdiction to fight off cyber crime
  • End users should have some responsibilities as well (ref. driver's license)
Twitter was heavily used during the sessions, making it possible for people who couldn't attend to have an idea what they were missing (#feweb).

Of course the drinks and social event were also a highlight of the evening, talking with so many people and discussing ways to promote PHP in Belgium. Through this post I wish to thank everyone for their input, we will work something out.

Many thanks for the organization of FeWeb Conference 2008 (and the sponsors Combell and bSeen).

FeWeb is an organization for web developers in Belgium that provides information about legal concequences linked to the job as "web developer", interacts with the government and the industry to advocate the role of the industry and issues a quality label for Belgian web development agencies.