PHP Objects, Patterns, and Practice

PHP Objects, Patterns, and Practice

Description

Aided by three key elements: object fundamentals, design principles, and best practices, you'll learn how to develop elegant and rock solid systems using PHP.

The 5th edition of this popular book has been fully updated for PHP 7, including replacing the PEAR package manager with Composer, and new material on Vagrant and PHP standards. It provides a solid grounding in PHP's support for objects, it builds on this foundation to instill core principles of software design and then covers the tools and practices needed to develop, test and deploy robust code.

PHP Objects, Patterns, and Practice begins by covering PHP's object-oriented features. It introduces key topics including class declaration, inheritance, reflection and much more.
The next section is devoted to design patterns. It explains the principles that make patterns powerful. The book covers many of the classic design patterns and includes chapters on enterprise and database patterns.
The last segment of the book covers the tools and practices that can help turn great code into a successful project. The section shows how to manage multiple developers and releases with git, how to manage builds and dependencies with Composer. It also explores strategies for automated testing and continuous integration.
What You'll Learn

Work with object fundamentals: writing classes and methods, instantiating objects, creating powerful class hierarchies using inheritance.

Master advanced object-oriented features, including static methods and properties, managing error conditions with exceptions, and creating abstract classes and interfaces.

Learn about the new object-oriented features introduced by PHP 7 and why they matter for your code.

Understand and use design principles to deploy objects and classes effectively in your projects.

Discover a set of powerful patterns that you can deploy in your own projects.

Guarantee a successful project including unit testing; version control, build, installation and package management; and continuous integration.

Who This Book is For
This book is suitable for anyone with at least a basic knowledge of PHP who wants to use its object-oriented features in their projects.
Those who already know their interfaces from their abstracts may well still find it hard to use these features in their systems. They will benefit from the book's emphasis on design. They will learn how to choose and combine the participants of a system; how to read design patterns and how to use them in their code.
Finally this book is for PHP coders who want to learn about the practices and tools (version control, testing, continuous integration, etc) that can make projects safe, elegant and stable.

Similar Books

ISBN 10: 1491905018
ISBN 13: 9781491905012

01 Mar 2016
Josh Lockhart

ISBN 10: 1492041211
ISBN 13: 9781492041214

01 May 2019
Matt Stauffer

ISBN 10: 1118987241
ISBN 13: 9781118987247

27 Jan 2015
Brad Williams

ISBN 10: 0071837302
ISBN 13: 9780071837309

01 Jan 2015
Marty Matthews

ISBN 10: 0321832183
ISBN 13: 9780321832184

13 Sep 2012
Larry Ullman

ISBN 10: 0132350882
ISBN 13: 9780132350884

01 Mar 2009
Robert Martin

ISBN 10: 0135957052
ISBN 13: 9780135957059

09 Jan 2020
David Thomas

ISBN 10: 0201633612
ISBN 13: 9780201633610

01 Jul 1997
Erich Gamma

ISBN 10: 0596517742
ISBN 13: 9780596517748

30 May 2008
Douglas Crockford

ISBN 10: 0134494164
ISBN 13: 9780134494166

20 Sep 2017
Robert Martin

ISBN 10: 0984782850
ISBN 13: 9780984782857

01 Jul 2015
Gayle Laakmann McDowell

ISBN 10: 144936375X
ISBN 13: 9781449363758

04 Aug 2014
David Sklar

Warning: fopen(/var/www/johnbellbooks.com/htdocs/core/../sitemap_datas/auto/isbn_and_title_1.txt): failed to open stream: Permission denied in /var/www/johnbellbooks.com/htdocs/core/krenabiz.php on line 0

Warning: fwrite() expects parameter 1 to be resource, bool given in /var/www/johnbellbooks.com/htdocs/core/krenabiz.php on line 0

Warning: fclose() expects parameter 1 to be resource, bool given in /var/www/johnbellbooks.com/htdocs/core/krenabiz.php on line 0