Conference tutorials are designed as intensive 3 hour sessions for in-depth and accelerated learning. All tutorials will be presented on Monday, October 27, the day before the conference begins. Separate registration is required for conference tutorials.
Get beyond the basics with this practical git session. We'll be covering some useful switches to the commands you know well and looking at how to optimise your configuration to make your day-to-day work easier. We'll look in depth at the concepts of branching, merging, tagging and collaborating with multiple remotes. There will also be guidance on how to make use of the more advanced features such as rebase, rerere and bisect. This is a hands-on session, please bring a laptop with git installed and be prepared to get some serious practice on all these topics. We'll be working in local repositories as well as sharing code and collaborating on changes in GitHub. At the end of the session you will be able to make effective use of git's features, and untangle any git problem with confidence.
This session will introduce Silex, a PHP micro-framework based on Symfony2 components, and MongoDB, a non-relational, schema-free document database, as we combine them to build a geo-enabled web application. We'll explore Silex's routing and controller architecture to start, and then dive into MongoDB's document model, query language, and geospatial features once we start implementing data persistence. Additionally, we will define services in Silex (even micro-frameworks benefit from thin controllers!), take advantage of Twig for templating, and discuss project deployment for both MongoDB and our application.
DB2 is the heart of IBM i. For PHP applications, the DB2 database provides performance, data integrity, remote connectivity, and security. This tutorial will show the right way to use DB2 with PHP. Topics include: NEW features of DB2 and ibm_db2 that can make life easier for developers, detailed performance tips, prevention of SQL injection, library list options, connecting to IBM i's DB2 from Windows and Linux, how to link MySQL-based applications (Wordpress, etc.) to DB2, implementing pagination, using Zend\Db, and more. With new material presented for the first time anywhere.
Docker is a great container-based system aimed at offering a lighter, faster alternative to virtual machines. The Docker philosophy is that containers are services, and, put together, they constitute a full stack. Containers are version-able, lightweight, and their construction can be fully automated by tools provided by the Docker ecosystem, all of which I cover in this tutorial. I'll also cover service discovery, a technique needed for larger scale infrastructures where many containers need to communicate with each other. By the end of the tutorial, you will have a a good understanding of what situations Docker should be used in, how to build containers and have them discover each other, how to leverage the Docker API, and you will have built a full Zend Server powered PHP stack.
Zend Server Z-Ray comes built in with ground breaking features that allow you to see through your application to its deepest levels. Deep as it goes, however, Zend Z-Ray does not lend your application's data context. Some things, only YOU the developer can know to look for in your own application. This is why Z-Ray was built ground-up with extensibility in mind. In this Tutorial we will build and integrate an extension for Z-Ray to ferret out that little bit of information that will useful into awesome.
Apigility provides tools for crafting web services, and a robust engine for delivering them in production. In this hands-on tutorial, we will use Apigility to both discuss the specifics of what makes a good API, as well as to build a simple RESTful API to consume via a web-based interface. Over the course of the tutorial, we will look at the following: - managing HTTP method negotiation - managing content negotiation - providing error handling - securing an API via authentication, authorization rules, and input validation - versioning your API We will discuss how Apigility will handle each of these details, allowing you to concentrate on your application. By the end of the session you will be able to create an API within Apigility, and will have the understanding to decide if Apigility should be used to build your next API. (Hint: it should!)
This session expands the "It Was Like That When I Got Here" presentation to a full-length tutorial. We will go over each element of the process detailed in the book "Modernizing Legacy Applications in PHP" for incrementally improving a page-based include-oriented application to one that is autoloaded, dependency injected, unit tested, layer separated, and front controlled:
- The benefit of refactoring over a rewrite
- Technical prerequisites
- Implement an autoloader
- Consolidate classes and functions
- Remove globals in favor of dependency injection
- Remove the new keyword in favor of dependency injection
- Write unit tests
- Extract SQL code to Gateway classes ("Model, Part 1")
- Extract domain logic to Transaction classes ("Model, Part 2")
- Extract presentation logic to Response classes ("View")
- Extract action logic to Controller classes ("Controller")
- Extract remaining includes
- Extract application code from the document root
- Implement a front controller
- Prepare the application for a dependency injection container
- Add a dependency injection container
- Review, and looking ahead
Give yourself a refresher in Zend Framework 2 before taking the certification right here at ZendCon. This tutorial is designed to take developers who are well versed in ZF2 to the point where they are confident in passing the ZFCA exam. This tutorial will refresh your knowledge of some of the more widely used components, but will also cover some edge cases that you may have never used (or forgotten about). We'll also be giving you sample questions along the way, as well as advice on what to expect when you actually sit the exam. Good luck!
The Zend PHP 5.5 Certification is the industry standard to test a candidate's knowledge of PHP and to aid employers to select suitable developers. Learn what it takes to become a Zend Certified Engineer (ZCE) by one of the authors of the certification! We will have a look at all topic areas, discuss common traps and required knowledge for each of them, and will provide you with background information on the test. The full-day tutorial will be conducted by one of the authors of the certification and will feature a number of typical questions that resemble the layout of the actual test questions, giving you a realistic impression of the test itself and aiding you in self-assessing your current PHP knowledge. In addition, you will have the opportunity to take the test right at the conference (limited availability).
We'll write a complete CRUD application with ZF2, from scratch. We'll learn how to package it and then deploy it on Zend Server. Then we’ll write an API for this app using Apigility, and we'll create the prototype of a mobile app, all within Zend Studio.