Lifecycle Best Practices
Continuous Inspection and Integration of PHP Projects
Sebastian Bergmann
thePHP.cc
The ideas behind Continuous Integration have changed how companies look at Build Management, Release Management, Deployment Automation, and Test Orchestration. This session presents the best practices and available tools that provide an insight into the development progress and code quality throughout the development lifecycle of PHP-based software projects.
Taming the Untestable Beast
Sebastian Bergmann
thePHP.cc
Stefan Priebsch
thePHP.cc
Call it what you will: Brownfield Project, Big Ball of Mud or just legacy code. As developers we rarely find ourselves in a Greenfield Project without any constraints that are imposed by prior work of less than optimal quality. In this workshop you will learn see that architecture and testability are related and how to turn bad code into good, testable code. No question goes unanswered when we pull up an editor and explain best practices while we refactor and unit test an MVC application live.
Caching on the Edge
Fabien Potencier
Sensio
Besides obvious optimizations like using APC, you probably have some caching strategy for your PHP projects. Did you know that caching is a large part of the HTTP specification? In the first part of this session, I will show how you can take advantage of HTTP caching. In the second part, I will show how to use Edge Side Includes, aka ESI with reverse proxies like Squid and Varnish.
Putting the Cloud to Work: Large Scale Test Automation
Gareth Bowles
Optimal Operations
This session will show you how to run large numbers of software tests in a short time without breaking the bank. Techniques to be covered include: * Intro to the Amazon EC2 cloud * Setting up a test execution image * Picking the right instance type for optimum efficiency * Using spot-priced instances to cut costs * Tracking test execution * Consolidating results
Modeling Tips, Tricks and Best Practices
Ralph Schindler
Zend Technologies Inc.
In the MVC triad, the M, or The Model, typically represents the core of your business. As many opinions as you have about how your business is constructed and run, there are as many opinions on how application models are crafted, utilized and maintained. In this tutorial we'll examine the current landscape modeling techniques from how to best create Models as well as the best practice techniques on persisting data. Items and topics will range from Service Layers, Mappers and Entities to various database persistence methods, testability and maintainability of your Model code. This tutorial will be framework agnostic in opinion, but will look at various implementations in both Plain Old PHP as well as in popular projects including Zend Framework, Symfony, Doctrine, and Lithium.
Requirements: The Last Bottleneck
Bill Karwin
Karwin Software Solutions
Software developers love tools for coding, debugging, testing, and configuration management. The more these tools improve the How of coding, the more we see that we're behind the curve on improving the What, Why, and When. If you've been on a project that seemed vague, adrift, and endless, this talk can help. Make your projects run SMART.
Pragmatic Guide to Git
Travis Swicegood
Git is hard; at least if you listen to the naysayers. Actually, you need to know a handful of commands to navigate Git successfully. This talk demystifies Git. Once we're finished you'll know everything you need to start using Git in your day-to-day projects and collaboratively with other developers.
Improving QA on PHP development projects
Michelangelo van Dam
In2IT
Everyone talks about raising the bar on quality of code, but it's always hard to start implementing it when you have no clue where to start. With this talk I'm showing that there are many levels developers can improve themselves by using the right tools, all of them written in PHP.
Wave Goodbye to Releases: Moving to Continuous Deployment
Gareth Bowles
Optimal Operations
Deploying your software changes direct to production can be a scary concept, but you probably have the key components already in place; you just need to put them together. This session will show how to achieve continuous deployment nirvana by combining: * continuous integration * source code commit checks * deployment scripts * real-time alerts * root cause analysis
Topic At A Glance
- Continuous Inspection and Integration of PHP Projects
- Taming the Untestable Beast
- Caching on the Edge
- Putting the Cloud to Work: Large Scale Test Automation
- Modeling Tips, Tricks and Best Practices
- Requirements: The Last Bottleneck
- Pragmatic Guide to Git
- Improving QA on PHP development projects
- Wave Goodbye to Releases: Moving to Continuous Deployment
More sessions will follow soon!

