Courtyard Milwaukee Brookfield
16865 West Bluemound Road
Brookfield, WI 53005
When: Saturday February 19, 2011 9:00 AM - 5:00 PM
Price: Only $100.00!
Class Size: This event is sold out!
Contact Jason at firstname.lastname@example.org to be put on the wait list. You will also be given preferred registration status for the next Milwaukee Zend Framework workshop.
In a hurry to become a proficient Zend Framework developer? Join Zend Framework expert and bestselling author Jason Gilmore in a day long workshop introducing you to the many features of this powerful web development solution.
All attendees will receive:
Bring your laptop, as this will be a hands-on workshop! All students will have access to a power outlet, and it is strongly suggested that your laptop already has PHP, MySQL, Apache, and the Zend Framework installed prior to the class. If you are having trouble with installation, Jason will provide you with free assistance over e-mail or the phone ahead of the class.
Broken into ten distinct steps, this workshop was created expressly to provide you with a well-rounded understanding of the Zend Framework. By the workshop’s conclusion, you’ll not only understand how to create powerful Zend Framework-driven websites, but also know how to integrate effective tools such as Phing and PHPUnit into your Zend Framework development strategy.
Over the course of the day we’ll cover ten fundamental topics, including:
Plenty of time is set aside for questions!
One of the hardest parts of beginning any new website project is deciding how to organize the various project assets, including not only the PHP code, but also the page layouts, images, and configuration data. The Zend Framework removes these tedious decisions altogether by providing you with a set of default answers to these questions in addition to a command-line interface (CLI) called Zend_Tool which you can use to quickly generate the project directory structure and code required to create a new Zend Framework-powered website.
In this section I’ll show you how to use Zend_Tool to create a new Zend Framework application, and provide an overview of the typical Zend Framework project structure.
Cleanly separating your application’s logic and presentation is crucial to its long-term success, particularly when the application is subject to ongoing development by multiple team members including programmers and designers. The Zend Framework provides an impressively simple and efficient way to separate the logic and data, and allowing you to manage the presentation in terms of a global website template, page-specific templates, and within special encapsulated bits of code known as view helpers which can be repeatedly used throughout the application. In this step I’ll introduce you to all of these features and more.
Web applications are typically created, maintained and deployed within the confines of a rigorously defined project lifecycle, with stages in the lifecycle often referred to as “development”, “testing”, “staging” and “production”. Each stage often requires its own set of configuration data, such as stage-specific database connection parameters. The Zend Framework provides an extremely valuable component named Zend_Config which allows you to easily manage this stage-specific configuration data, and additionally easily declare which stage is currently enabled. In this step I’ll show you how to manage your application configuration data, switch your application from one stage to another, and retrieve this configuration data as needed from within your application controllers.
Because the success of so many websites depends upon the user interaction via web forms, it is crucial that you create forms which accept, validate, and process user data in a coherent way. The Zend Framework’s Zend_Form component provides a very compelling model-driven solution for managing your forms, however it remains one of the framework’s most confusing features. In this section I’ll dispel the confusion, offering insight into how to master this powerful component and create rock-solid web forms.
Even the most trivial website relies upon a database for content management, yet many developers find database integration an annoying and inconvenient experience. The Zend Framework’s Zend_Db component eliminates a great deal of the hassle by providing an object-oriented interface to your database tables, allowing you to select, insert, update, and delete data using the very same object-oriented PHP syntax you use for other tasks, rather than embed messy SQL code alongside PHP. In this step I’ll introduce you to Zend_Db, and provide several examples demonstrating how easy it is to manipulate the underlying database using Zend_Db’s convenient interface.
I’ll also show you how to integrate the powerful Doctrine ORM into your Zend Framework applications, which although at this time is not an official Zend Framework feature, is slated to be integrated into the framework in a future release.
There are few web development tasks more tedious and time consuming than repeatedly completing and submitting form data in order to make sure a form is working properly. The process becomes even more tiresome as additional form features are added over time, requiring you to complete testing anew.
Zend Framework developers can do away with these sorts of manual tests forever by employing an automated approach involving PHPUnit and the Zend_Test component! In this step I’ll show you how to write and execute automated tests which can not only test your web forms, but also verify controller and action existence, inspect pages to ensure specific page elements exist, and ensure other key features are working properly.
One of the Zend Framework’s most compelling features is its vast support for third-party web services, including those offered by Amazon.com, Google, Microsoft, Twitter, and Yahoo!. In this step I’ll talk about this support, and offer several examples involving retrieving product information from the Amazon Product Advertising API, and sending messages to Twitter.
Although the Zend Framework offers a number of great features which facilitate the management of stage-specific configuration data, you’ll still need to complete several crucial steps when migrating a website to the production server. Automating these steps is strongly recommended in order to ensure nothing is overlooked or incorrect. Many PHP developers use the Phing build tool to automate these tasks, and in this step I’ll introduce you to Phing and show you how to create Phing tasks which can automate practically every aspect of the deployment process.
Most modern websites rely upon a variety of periodic background processing scripts. For instance, one such script might interact with a third-party web service on a nightly basis to update local catalog information such as product pricing data. In this step you’ll learn how to create command-line scripts which can not only use Zend Framework components such as Zend_Service_Amazon, but can also plug into the companion application’s configuration data, thereby allowing you to keep your code DRY.
The Courtyard Marriott conference room offers a comfortable learning environment which I have limited to just 15 students in order to provide an optimized instructor-student ratio. Each student will have access to a power outlet.
W. Jason Gilmore is the author of six books, including the bestselling “Beginning PHP and MySQL, Fourth Edition” (Apress, 2010), “Easy PHP Websites with the Zend Framework” (W.J. Gilmore, LLC, 2009), and “Easy PayPal with PHP” (W.J. Gilmore, LLC, 2009). His writings on PHP and other web technologies have been published within Linux Magazine, Developer.com, JSMag, and numerous other online and print publications. Over the years, Jason has instructed hundreds of developers in the United States and Europe.
Jason is co-founder of the wildly popular CodeMash Conference (http://www.codemash.org), and was a member of the 2008 MySQL conference speaker selection board.