Even if you find writing PHP code easy, writing code that is efficient and easy to maintain and reuse is not so straightforward. Self-taught PHP developers and programmers transitioning from other languages often lack the knowledge to work with PHP on an enterprise level. They need to take their PHP development skills to that level by learning the skills and tools necessary to write maintainable and efficient code.This book will enable you to take your PHP development skills to an enterprise level by teaching you the skills and tools necessary to write maintainable and efficient code. You will learn how to perform activities such as unit testing, enforcing coding standards, automating deployment, and interactive debugging using tools created for PHP developers – all the information in one place. Your code will be more maintainable, efficient, and self-documented.From the design phase to actually deploying the application, you will learn concepts and apply them using the best-of-breed tools available in PHP.Experienced developers looking for expertise in PHP development will learn how to follow best practices within the world of PHP. The book contains many well-documented code samples and recipes that can be used as a starting point for producing quality code.Specifically, you will learn to design an application with UML, code it in Eclipse with PDT, document it with phpDocumentor, debug it interactively with Xdebug, test it by writing PHPUnit tests, manage source code in Subversion, speed up development and increase stability by using Zend Framework, pull everything together using continuous integration, and deploy the application automatically with Phing – all in one book. The author's experience in PHP development enables him to share insights on using enterprise tools, in a clear and friendly way.
Set up a development environment that provides code completion, syntax highlighting, interactive debugging, code templates, and more
Define a coding standard and automate compliance checks
Generate developer documentation in various formats using code-level comments and phpDocumentor
Manage revision and branching, tag, and merge code using a distributed version control system
Create your own debugging library and use Xdebug for interactive debugging
Shorten the development cycle by leveraging a suitable framework for your application
Write unit tests using PHPUnit and practice test-driven development
Automate application deployment and configuration using Phing—a PHP build and automation tool
Sketch class diagrams, sequence diagrams, and use cases using UML
Quickly find bugs and conflicts by setting up a continuous integration environment that automatically stages, tests, and documents your project
Chapter 1. Coding Style and StandardsLearn how to define a coding standard that suits your development process and how to enforce it using PHP_CodeSnifferChapter 2. Documentation with phpDocumentorLearn how to properly document your code with phpDocumentor and generate well formatted developer documentationChapter 3. The Eclipse Integrated Development EnvironmentLearn how to install, customize, and use the free PDT plug-in for Eclipse to create a powerful IDE for PHP developmentChapter 4. Source Code and Version ControlExplore the ins and outs of subversion for distributed version control for development teams. Extend subversion functionality with PHP scriptsChapter 5. DebuggingWrite your own flexible debugging library or master remote interactive debugging with Xdebug.Chapter 6. PHP FrameworksEvaluate, compare, and choose frameworks that suit your projects and development style. Master the most commonly used modules of the Zend frameworkChapter 7. TestingTesting methods and types, unit testing, creating comprehensive test suites with PHPUnit, and test-driven developmentChapter 8. Deploying ApplicationsGuidelines for automated and reversible application deployment, automating upgrades, and deployments with PhingChapter 9. PHP Application Design with UMLIntroduction to UML, class diagrams, sequence diagrams, and use casesChapter 10. Continuous IntegrationUse CI, keep costs down and save time by discovering bugs and conflicts in your projects, in the early stages