Hi All,
I have just completed the 19 hour Zend Framework
Course with PHP Architect in Canada. I thought I'd write and post a review for
future reference.
Overview
Cost: $899.97 USD
The course is a basic introduction to the Zend
Framework and several of the core libraries and development methodolgies that
form a foundation for creating applications mainly through the MVC framework,
but also touching on standalone includes of library files on an as-need
basis.
Course Structure
The PHP Arch courses are online, instructor led
courses of small numbers of students. The Tutor runs slides of training
materials, while discussing points in live audio. Students interact with the
instructor by way of an integrated chat channel, although the instructor has the
ability to open audio for more complex questions. The tutor runs through the
content in blocks, then gives exercises to complete during course time, while
the instructor is on hand to give aid where nessecary. Students are also assign
homework for further expansion or study. This is not compulsary, but it's your
money.
Course sessions run in 3 hour blocks, and mine were
reasonably timed to start at 8am NZDT, although this varies, as my ZCE course
had me starting at 4am.
Tutor
Paul Reinheimer is a well respected PHP
proffesional, WROX Author and PHP Doc Team contributer. This is the second
course I have done with Paul, the first being Zend Cert Prep. Paul's knowledge
of the internals of PHP is at times encyclopedic. He has a laid back and
humouros manner, and seems to enjoy sharing his vast knowledge with students,
along with the odd joke to keep the course discussion relaxed.
Student Level
At the time of starting the course, I had started
developing my first Zend Framework application, read part of the docs, and read
through several tutorials. So my level with ZF would be classed as Beginner,
although not complete noob.
Course Review
As I had already done some self-paced study and
work with the Framework, many of the topics, examples and exercises were quite
familiar to me. Although these same topics would be foundational to any
developer who had little to no exposure to the Framework. But even though I had
covered and understood these basics, there were still aspects of this early
content that I had either missed, or were the sort of things only realized by
experience with the Framework.
As the course got past it's first 2 days, largely
covering setup, the MVC pattern, and data access - I found that the
material advanced to libraries I had not yet touched on, or if I had, I had done
so less than optimally. An example of this was found in the Zend_Auth library
where I required a way to not only use the framework to securely validate and
authorize a user, but also check if that user is currently active. Although I
had found a way of doing this myself, Paul's explaination of custom Auth
adapters showed me that refactoring was in order.
Further on, we looked at topics such as profiling
database queries, Authentication using Zend_ACL, the framework's own form
handling library, view helpers and built-in services (such as
Flickr/GData). All of these are topics I had not yet looked at myself in detail,
so the final sections of the course proved to be highly
educational.
The most informative part of the course was the
final topic, which centered around Zend_Cache and performance of ZF appications.
This section of the course not only covered ZF's built in library (for caching
everything from database result sets to complete classes to entire pages) but
also covered generic perfomance concepts using APC and memcache plus broken down
statistics of a sample application at each stage of an optimization
process.
Overall Course
Conclusion
It was obvious that Paul is not a "guru" with Zend
Framework, and he even seemed to discover a few little tidbits himself during
the course of interacting with his students. However this general perception may
have more than a little to do with my past experience with him as a raw PHP
tutor, where his ability to answer even the most detailed of questions on the
language and underlying structure was quite incredible. ZF is also a huge
library of classes. It would be a little unfair to expect even the best PHP
tutor having a like-wise intimate knowledge of such a framework.
It is also worth noting that this is a reletively
new offering from PHP Arch. I obtained a fantastic foundation in the framework
in 6 days and picked up some advanced aspects of ZF that I was having trouble
with getting my head around in the docs. It was here that ability to have an
experienced user to bounce questions off in real time really paid off. Paul
asked for feedback on the course, and it appears that he is very interested in
evolving his material based on student feedback, which can only be a good thing
for future students.
Paul's teaching style is a core reason why I went
back to PHP Arch. He has a great ascending style to his material, unfaultering
speech, and is very attentive on his students, often stopping mid sentence or
moving back a slide if he sees someone typing in the chat channel. It is evident
in my two courses under him that he is not just presenting information, but he
wants people to understand the content, and understand it well. To this end, he
succeeds.
The Zend Framework course would be particulary
suited to an Intermediate PHP developer with little to no knowledge with
ZF. I found myself thinking that perhaps I should have stuck with the tutorials
and docs for the first 2 days, but that was quickly dispelled from day 3 onwards
as we got into the meatier stuff. However, if a developer with some decent
commercial experience in ZF asked me, I'd probably have to tell them it would be
a little too basic for them. Although I had taught myself some aspects of the
framework, this mainly centered around MVC, Zend_DB and Zend_Auth - and even
then, the going was much slower than what I would have picked up in the
course.
Any questions, let me know.
Cheers
Aaron