Mastering PHP 7 [PDF]

  • 0 0 0
  • Gefällt Ihnen dieses papier und der download? Sie können Ihre eigene PDF-Datei in wenigen Minuten kostenlos online veröffentlichen! Anmelden
Datei wird geladen, bitte warten...
Zitiervorschau

Mastering PHP 7

Design, configure, build, and test professional web applications in PHP 7

Branko Ajzele

BIRMINGHAM - MUMBAI

Mastering PHP 7 Copyright © 2017 Packt Publishing

All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews. Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author(s), nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book. Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information. First published: June 2017 Production reference: 1220617 Published by Packt Publishing Ltd. Livery Place 35 Livery Street Birmingham B3 2PB, UK.

ISBN 978-1-78588-281-4 www.packtpub.com

Credits Author

Copy Editor

Branko Ajzele

Safis Editing

Reviewers

Project Coordinator

Martin Beaudry

Vaidehi Sawant

Andrew Caya Alexandru-Emil Lupu Mario Magdic Commissioning Editor

Proofreader

Kunal Parikh

Safis Editing

Acquisition Editor

Indexer

Chaitanya Nair

Pratik Shirodkar

Content Development Editor

Production Coordinator

Siddhi Chavan

Nilesh Mohite

Technical Editor Dhiraj Chandanshive

About the Author Branko Ajzele is an internationally respected and highly accomplished software developer, book author, solution specialist, consultant, and team leader. Strong technical knowledge coupled with the ability to communicate those technicalities frequently and clearly with strong direction has enabled him to architect, develop, and launch numerous successful businesses. He often feels comfortable proposing alternatives to demands that he feels can be improved, even when it means pulling a late shift to meet deadlines. He holds several respected IT certifications, such as Zend Certified PHP Engineer, Magento Certified Developer, Magento Certified Developer Plus, Magento Certified Solution Specialist, and a few more. Branko was crowned E-commerce Developer of the Year by Digital Entrepreneur Awards in October 2014 for his excellent knowledge and expertise in e-commerce development. His work is second to none, and he is truly dedicated to helping fellow developers around the world. He currently works as a full-time contractor for Lab Lateral Ltd, an award-winning team of innovative thinkers, artists, and developers specializing in customer-centric websites, digital consultancy, and marketing. Here, he holds the role of a lead developer and the head of Lab's Croatia office. The book, Instant E-Commerce with Magento: Build a Shop, by Packt was his first Magentorelated book oriented toward Magento newcomers, after which he decided to write his second book, Getting Started with Magento Extension Development. The third book, Magento 2 Developers Guide, was released days after the official Magento 2 release. His fourth book, Modular Programming with PHP 7, describes modular design techniques to help developers build readable, manageable, reusable, and more efficient code, and doing so on a mini web shop application written in the Symfony framework.

About the Reviewers Martin Beaudry started his programming career 7 years ago by creating a software in C after going through the K&R book. He then switched to PHP to work as a web developer, becoming a Zend Certified PHP Engineer and Zend Certified Architect along the way. Before learning computer languages, he worked with human ones as a professional translator and editor. Martin works in his own start-up and is one of Linux for PHP's contributors. I want to thank my friend, Andrew Caya, for teaching me everything I needed to know to review this book.

Andrew Caya discovered his passion for computers at the age of 11 and started programming in GW-BASIC and QBASIC in the early 90s. He earned a master’s degree in Information Science and master's short program in public administration. After doing some software development in C, C++, and Perl, and some Linux system administration, he became a PHP developer more than 7 years ago. He is also a Zend Certified PHP Engineer and a Zend Certified Architect. He is the creator of Linux for PHP, a lightweight, Docker-based, custom Linux project that allows PHP developers to easily compile and use recent versions of PHP in a variety of ways. He is also the lead developer of a popular Joomla! extension and has the great pleasure of contributing code to many open source projects. He is currently a professional contract programmer in Montreal, Canada, a technical reviewer for Packt, and a loving husband and father.

Alexandru-Emil Lupu has about 10 years experience in the Web Development area. During this time, he got a lot of skills from the implementation of e-commerce platforms and presentation sites' code writing to online games. He is one of the developers who are constantly learning new programming languages, and he has no problem in understanding Ruby, PHP, Python, JavaScript, and Java code.

Alexandru is very passionate about programming and computer science. When he was young, he did not own a computer or an Internet connection (hard to believe, but true). He would go to an Internet cafe in order to read about his programming problems and would then struggle to implement them at home. He fondly remembers those days and hopes he's the same guy from 10 years ago with much more experience. For him, passion is the word that describes the challenge he faced while learning. He says it was not easy to be a youngster and one who was willing to learn new stuff. Coming home at 2-3 A.M., determined to install Linux just to learn about it, was not as easy as it sounds. He had a Pentium I at 133 MHz in the Pentium IV in the 1800 MHz era! He is constantly learning and likes to stay close to well-trained and passionate people who better motivate him every day. This is the reason he joined the eJobs team to face a challenge. He likes teams who work intelligently and are energetic. Alexandru is a Certified Scrum Master and is passionate about Agile Development. His experience also includes 3 years as a Ruby on Rails developer and CTO at 2Performant Network (2Parale), 4 years at eRepublik.com, an online game, during which he was responsible for a long list of tasks, including feature development, performance optimization, and he was also the tech lead for an internal project. He has learned the hard way the necessary skills to fulfill his day-to-day tasks at 2Performant.com and gained all the experience he needed to face new kind of challenges at eJobs.ro. In his little free time, he also develops small personal projects. If he still has spare time, he reads some technical or project management books or articles. When he is relaxing, he watches thriller movies and also likes playing shooter or strategy games. He doesn't talk too much, but he is willing to teach programming to others. If you meet him over a coffee, prepare yourself to be entertained--he likes to tell a lot of contextual jokes. You can interact with him at http://github.com/alecslupu.

Mario Magdic is a full-stack software developer originally from Croatia and currently residing in Dublin, Ireland, where he moved 2 years ago to work for a FinTech company. He was first introduced to the wonderful world of software development in a high school programming class and decided to make it his career. During his career, he has had an opportunity to work with various technologies and programming languages and is always happy to improve and learn new things.