Davey Shafik has been working with PHP and the LAMP stack, as well as HTML, CSS, and JavaScript for over a decade. With numerous books, articles, and conference appearances under his belt, he enjoys teaching others any way he can. An avid photographer, he lives in sunny Florida with his wife and six cats.
About Matthew Turland
Matthew Turland has been using PHP since 2002. He is a Zend Certified Engineer in PHP 5 and Zend Framework, has published articles in php|architect magazine, and contributed to two books: php|architects Guide to Web Scraping with PHP (Toronto: NanoBooks, 2010) and the one youre reading now. Hes also been a speaker at php|tek, Confoo, and ZendCon. He enjoys contributing to open source PHP projects including Zend Framework, PHPUnit, and Phergie, as well as blogging on his website, http://matthewturland.com .
About Luke Cawood
After nearly ten years of PHP development, Luke joined the SitePoint family to work at 99designs.com , the worlds largest crowdsourced design community. Luke has a passion for web and mobile technologies, and when not coding, enjoys music festivals and all things food-related. Hes known to blog occasionally at http://lukecawood.com .
About Tom Museth
Tom Museth first fell in love with code while creating scrolling adventure games in BASIC on his Commodore 64, and usability testing them on reluctant family members. He then spent 16 years as a journalist and production editor before deciding web development would be more rewarding. He has a passion for jQuery, PHP, HTML5, and CSS3, is eagerly eyeing the world of mobile dev, and likes to de-stress via a book, a beach, and a fishing rod.
For Kevin, who may have taught me everything I know, and everyone else who believed I could do this.
Lorna
For Grandpa Leslie, for showing me how to be a good man, and for my wife, Frances, for loving the man I became because of him.
Davey
To my parents and my wife, who always encourage and believe in me. And to my children and my friends, who continue to inspire me.
Matthew
Preface
PHP Master is aimed at intermediate PHP developersthose who have left their newbie status behind, and are looking to advance their skills and knowledge. Our aim as authors is to enable developers to refine their skills across a number of areas, and so weve picked topics that we felt have stood us in the best stead to grow as developers and progress our skills and careers.
Its expected that youll already be working with at least some of the topics we cover; however, even topics that may already be familiar to you are recommended reading. PHP, perhaps more than many other languages, seems to attract people from different walks of life. Theres no sense of discrimination against those with no formal education in computing or in web development specifically. So while you may be actively using several techniques laid out here, dipping in to the chapters that follow could reveal new approaches, or illustrate some underlying theory thats new to you. It is possible to go a long way with the tricks you pick up in your day-to-day work, but if youre looking to cement those skills and gain a more solid footing, youre in the right place.
This book will assist you in making that leap from competent web developer to confident software engineerone who uses best practice, and gets the job done reliably and quickly. Because were writing PHP as a way to make a living, just like many of you do, we use a how to approach. The aim is to give you practical, useful advice with real examples as you move through the sections of the book.
Whatever path brought you here, we hope you find what youre looking for, and wish you the best of everything as you travel onwards.
Who Should Read This Book
As stated, PHP Master is written for the intermediate developer. This means you should have a solid grounding in the fundamentals of PHPthe syntax underpinning the code, how functions and variables operate, constructs like foreach loops and if/else statements, and how server-side scripts interact with client-side markup (with HTML forms, for instance). We wont be rehashing the basicsalthough therell be plenty of references to concepts you should already be familiar with, and youll be learning new ways to improve upon your existing techniques of generating server-side applications.