PHP Interview With Rob Allen The Main Author Of The Book Zend Framework in Action – Learn Security Best Practices From The Beginning

About This Interview

This is the #22th set of PHP Interview to help aspiring PHP developers and PHP fans alike to get inspired by listening from those PHPeople who are already highly involved into the PHP Ocean and *being there* taming the waves and surfing better than ever to make themselves an Awesome PHP Expert both in their own eyes (for self-accomplishment) and for the PHP Community.

On the other side, this is an opportunity for new PHPers to get to know their “PHP Elders. I hope you will derive as much fun to read my interviews as I’m having by interviewing those awesome PHP people.

A Small Intro..

Rob Allen Main Author Of The PHP Book Zend Framework in Action

In this edition I talked with Rob Allen who is the main author of the famous PHP book “Zend Framework in Action“. He is very passionate about the whole Zend stuffs:

  • he’s a contributor to the Zend_Config component in Zend Framework 1
  • he’s a member of the Zend Framework Education Advisory Board
  • he keeps on with his contributions with the new Zend Framework 2
  • he rambles a lot about QUALITY Zend Framework tutorials on his blog

Rob is fond of writing; his latest PHP-Advent article is “Better Than the Rest” and is also a regular conference speaker, speaking at the likes of ZendCon, PHP North West, PHP|Tek and a whole lots of places.

And Now The Interview…

>> Please tell us a bit about yourself

I’m Rob Allen and I’m currently the Technical Director and Project Manager for Big Room Internet, a small web agency in Birmingham, UK. I am active in the Zend Framework community, having written a popular Zend Framework tutorial for both Zend Framework 1 and Zend Framework 2. I’ve currently code in PHP and Objective-C. I can be found online at akrabat.com and on Twitter as @akrabat.

>> How you started with PHP

In early 2000, I helped found an online guild for the MMORPG EverQuest. I volunteered to make a website for the group and had no clue how to do so. A friend recommended that I investigate PHP and I haven’t looked back since! Back in those days it was the tail end of PHP 3 and PHP 4 was just coming on the scene.

>> Your LAMP stack comprises.. ?

Very boringly, we use Linux (Debian), Apache, MySQL and PHP! There’s nothing very clever going on as I’m a big fan of stable and predictable on my servers – especially if I’m the sysadmin!

>> The relationship between You and The PHP Community comprises..

I love the PHP community. If you have a question or a problem, someone will help you out. It’s a very friendly community. I hope that I do my bit in helping others too by answering questions on Stack Overflow and in IRC.

>> How do you find PHP now as compared to when you first started

It’s so much better! PHP will always be a mishmash of a language and I’m happy with that. I’ve seen classes evolve from PHP3 where a class was basically an array through to PHP 5.4 where we have a comprehensive object model. Other features like closures and traits are making it easier to write maintainable code too. The language is so much more powerful nowadays.

>> Based on your experience, what are the good and bad parts of PHP

The best part about PHP is that anyone can learn it and get a project started quickly and easily. The manual is fantastic and there are thousands of articles about PHP on the web. If you have a problem with PHP, Google will probably be able to point you to the solution. The bad part in my opinion is that it can be hard for beginners to find the best, up to date PHP articles which leads to reinforcement of bad-practices and especially poor security. Traditionally the language inconsistencies are considered a bad point, but I’ve never really found them to be a problem in day to day coding.

>> What would be the Top advice to a PHP beginner

My number one top tip would be to learn security best practices from the beginning. Places to read include:

>> To someone who wants to become a better PHP developer..?

Learn from your peers. Read PHPDeveloper and Planet PHP. Contribute to an open source PHP project.

>> The best PHP book you’ve read

There’s a lot of good ones out there. My current favourites are PHP Master by [Davey Shafik @dshafik], [Lorna Mitchell @lornajane] & [Matthew Turland @elazar] and php/architect’s Guide to Date and Time Programming by [Derick Rethans @derickr]

>> A PHP blog or resource you highly recommend

Where to start?! Obviously, you are already reading PHPDeveloper! I also think that Stack Overflow is a fantastic resource for PHP developers.

>> The IDE that you use

Currently I use Sublime Text 2 for development.

>> How do you debug your PHP code?

I use a mixture of:

  • var_dump statements
  • step-by-step debugging with Xdebug and MacGDB, depending on the problem.

>> A PHP framework you use and would recommend

I use Zend Framework. Version 2 has just come out and I like it.

>> A unit test framework you recommend using?

PHPUnit!

>> A CMS that you think is worthwhile

[CMS Made Simple @CMSMadeSimpleDE] is very nice.

>> An E-Commerce cms you recommend

If a customer didn’t want us to write a specific solution for them, then I would recommend a hosted solution like [Shopify @Shopify] or [FoxyCart @foxycart]

>> One PHP System/software/library/Project you really appreciate

I think that [phpMyAdmin @phpmya] has done more to cement the usage of MySQL in web development than any other piece of software. For dealing with MySQL in development, it is great.

>> One function that you like (or which you tend to use frequently)

file_put_contents() I couldn’t understand why we had file_get_contents() from PHP 4.3, but had to wait until 5.0 before file_put_contents() came on the scene!

>> One PHP person that you admire and what strikes you about him/her

Just one person?! There are so many choices! However, if you insist… [Pádraic Brady @padraicb] has the useful ability to cut to the chase and point out what the real problem is and what could be done about it. He kickstarted a better ZF2 development process last year and is currently has now turned his attention to security which is an area in which has has a lot of knowledge.

>> One PHP Community that you recommend

All of them!

>> Are you part of any PHP User group?

My local PHP user group is [PHPWM @phpwm] in Birmingham which exists mainly as a mailing list and IRC channel with occasional meet-ups.

>> A PHP Usergroup that you appreciate and would highly recommend

I have no favourites. If there’s PHP user group meeting up near you, then you should attend.

>> The best conference you attended would be..

[PHPNW @phpnw] in Manchester UK is a fantastic, affordable conference.

>> Can you please share the good, and may be not so good moments, of being part of all the conferences you attended

I love conferences. The talks are where I keep up with current trends and learn what new things I need to be concentrating on. Conferences are also places where you have a lot of like-minded people to talk to and learn from. Meeting PHP people is always eye-opening and benefits me every day when I need help on something or can give help to someone else.

>> What are the main aspects of conferences that can really help a PHP guy to get better in his progression

As with the previous question, the talks are by people who have been there before and so you get the benefits of their knowledge. The best way to get the most out of a conference though is to talk to the other people there. The connections you make are invaluable.

>> Which was the worst programming mistake you did?

In my more-impulsive youth, I have managed to wipe out important information from database tables though poorly written update statements and I’ve taken websites down with code that worked fine with a small test dataset and less well with lots of production data! Nowadays, I’m a strong believer in testing on non-live systems, backups and good deployment systems!

>> Things that you’ve learned from being part of The PHP Community

Nearly everything I know about best practices comes from listening to members the PHP community who know more than me and are willing share that knowledge.

>> If you could change one thing with PHP, that would be…?

I wish that everything that is configurable in php.ini could be set using ini_set(). I appreciate the technical reasons why that isn’t the case, but nevertheless…

>> If you had to go back in time, would you still choose PHP? What would you do different?

Yes, I would choose PHP again. It’s incredible reliable, works on every major platform, can solve any web problem and has a great community. The things I would have done differently is to get involved in the community earlier and I would have written a deployment system right at the beginning!

>> How do you time manage all the stuffs that you do, coupled with your personal life?

For work, we have a custom-built management system which keeps track of everything I need to do. I keep lists in TaskPaper for my personal projects.

>> The day you realised “You’ve made it to the A-List PHP arena” ?

There are thousands of fantastic PHP developers sharing what they know with the rest of us, that I’m not sure there is such a thing as an A-List.

>> Why you are successful and why others are not?

I have found that to achieve what you want in life, you need focus and be prepared to fail regularly and try again and again and you will progress towards your goal.

>> A final word before closing up..

Life is too short. If you’re not enjoying your work most of the time, then get a new job.

Suggest A PHP Interviewee

If you want me to interview someone of your choice, read this page for more info.

Now Do Your Part!

1) Help diffuse this interview to the PHP ecosystem – Share, tweet and spread the word to your audience ==> That would be a FREE way to thank me 😉 2) Make a comment below using the comment form – I’m sure you can at least say 1 word about this interview

{I’m thankful to your response(s)!}


1 Comment(s)

  1. I’ve never heard of CMS Madesimple – I wonder how many people actually use this CMS.

    It might be a CMS he likes, but one has to wonder why…

    Personally one of the best PHP books that I read was PHP 5: Power Programming (I’m not sure if it’s still in print though). It has everything about PHP and will teach you the language from absolute scratch.



Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.