PHP 7 Programming Solutions
2.8 (4 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
49 students enrolled
Wishlisted Wishlist

Please confirm that you want to add PHP 7 Programming Solutions to your Wishlist.

Add to Wishlist

PHP 7 Programming Solutions

Take your PHP 7 web development skills to the next level with over 80 practical tasks
2.8 (4 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
49 students enrolled
Created by Packt Publishing
Last updated 12/2016
Current price: $12 Original price: $100 Discount: 88% off
3 days left at this price!
30-Day Money-Back Guarantee
  • 6.5 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion

Training 5 or more people?

Get your team access to Udemy's top 2,000 courses anytime, anywhere.

Try Udemy for Business
What Will I Learn?
  • Use advanced PHP 7 features such as the Abstract Syntax Tree and Anonymous Classes
  • Discover when and where to modify PHP 5 to avoid backwards-compatibility breaks
  • Improve the overall application security and error handling by taking advantage of classes that implement the new Throwable interface
  • Debug your code and get to know the best practices
View Curriculum
  • If you want to take your PHP programming skills to next level, this course will also help you. Basic knowledge of PHP programming is assumed.
  • This course takes a task-based approach, with real-world examples that can serve as building blocks for a larger application. Each task is self-contained with no external dependencies. This course is designed in a way that you will be able to understand how to deal with various scenarios you may encounter while using PHP 7 in your daily programming tasks.

PHP 7 comes with a myriad of new features and great tools to optimize your code and make your code perform faster than in previous versions. Most importantly, it allows you to maintain high traffic on your websites with low-cost hardware and servers through a multithreading web server.

This course demonstrates intermediate to advanced PHP techniques with a focus on PHP 7. Each video is designed to solve practical, real-world problems faced by PHP developers like yourself every day. We also cover new ways of writing PHP code made possible only in version 7. In addition, we discuss backward-compatibility breaks and give you plenty of guidance on when and where PHP 5 code needs to be changed to produce the correct results when running under PHP 7. This course also incorporates the latest PHP 7.x features.

By the end of the course, you will be equipped with the tools and skills required to deliver efficient applications for your websites and enterprises.

About The Author

Doug Bierer has been hooked on computers since his first program, written in Dartmouth BASIC on a DEC PDP-8, in 1971. In his wide-ranging career, this author has been a professional contract programmer since 1978, having written applications in BASIC, PL/I, assembler, FORTH, C, C++, dBase/FoxBase/Clipper, Pascal, Perl, Java, and PHP.

He deployed his first website in 1993 while living in San Francisco. He speaks four languages, has traveled extensively, and has lived in the USA, France, the Netherlands, England, Sweden, Scotland, and Thailand. He also spent some years doing Linux system administration and TCP/IP networking. He is also an accomplished musician (he has written over 60 songs) as well as a writer, under the pen name of Douglas Alan.

Doug's own company is, which specializes in consulting, PHP programming, website development, and training (primarily for Zend Technologies Ltd and Rogue Wave Software Inc.

Some of his technical works for O'Reilly Media are Learning PHP and MySQL, Learning PHP Security, Learning MongoDB, and Learning Doctrine.

Who is the target audience?
  • This course is for aspiring web developers, mobile developers, and back-end programmers who want to master the intricacies of PHP7 programming.
Compare to Other PHP Courses
Curriculum For This Course
69 Lectures
Building a Foundation
6 Lectures 29:25

This video will show us the different ways in which we can install PHP7.

Preview 06:54

This video will show how to use the built-in PHP 7 web server and also help us define a MySQL database and install PHPUnit.

Using PHP Server, Defining MYSQL, and Installing PHPUnit

This video will get you acquainted with the mechanism built into the PHP language that will implement class autoloading.

Implementing Class Autoloading

Very frequently, scanning a website and extracting information from specific tags is of interest. This video will help us to do that.

Hoovering a Website

Sometimes you need to scan a website, but go one level deeper.We will see that in this video.

Building a Deep Web Scanner

This video is developed to avoid errors caused while running PHP5 code on PHP 7.

Creating a PHP 5 to PHP 7 Code Converter
Using PHP 7 High Performance Features
7 Lectures 32:44

This video will show us what an abstract syntax tree is.

Preview 05:41

In this video, we will check out the differences in parsing between PHP 5 and PHP 7.

Understanding Differences in Parsing

In this video, we will look at some behavioral differences of code inside a foreach() loop between PHP 5 and PHP 7.

Understanding Differences in foreach() Handling

This video will help you learn the new enhancements in PHP 7 which will help us improve the performance as compared to PHP 5

Improving Performance Using PHP 7 Enhancements

Owing to memory limitations, few functions quickly cause problems when dealing with massive files. This video will help us iterate through such massive files.

Iterating Through a Massive File

This video will help us process customer spreadsheets using the csv format.

Uploading a Spreadsheet into a Database

This video takes advantage of an (SPL Standard PHP Library) class to recursively get a list of all files and directories from a specific point in a directory tree.

Recursive Directory Iterator
Working with PHP Functional Programming
5 Lectures 32:55

Functions are essential in any PHP because of their immense use and diverse properties. You will need to learn to develop functions as a part of your PHP programming.

Preview 05:29

When working with a team, you would want to control the use of your code by others. Data types help you do that.

Hinting at Data Types

When you want to return a specific data type from an argument, you have to use return value data typing.

Using Return Value Data Typing

Iterators have various functionalities and are very important. Hence, understanding them is essential in PHP.

Using Iterators

According to our project, we need to create our own iterator. For that we use generators.

Writing Your Own Iterator Using Generators
Working with PHP Object-Oriented Programming
8 Lectures 42:34

This video will focus on how to develop classes.

Preview 06:16

This video will show you how to extend classes.

Extending classes

PHP lets you access properties or methods without having to create an instance of the class. This video shows you how to do that.

Using Static Properties and Methods

This video shows you how to use namespaces to avoid the problem of accidental class duplication and to facilitate autoloading.

Using Namespaces

In this video, we will simply define visibility as the mechanism to control the use of your code.

Defining Visibility

Interfaces are useful tools for systems architects and are often used to prototype an API. This video will explain you how to use them.

Using Interfaces

In this video, we will see how to use traits to copy-paste code into a class at the line indicated by the PHP interpreter.

Using Traits

PHP 7 introduced a new feature—anonymous classes. In this video, we will take a look at how to implement those. 

Implementing Anonymous Classes
Interacting with a Database
7 Lectures 41:00

Learning how to use this extension will save you hours of time trying to master the command subsets of the equivalent individual vendor-specific database extensions.

Preview 13:26

Ability to build an OOP SQL query builder using methods named and, or, not, and so on.

Building an OOP SQL Query Builder

Learn to provide a limited subset of the results of a database query.

Handling Pagination

Learn to define entities to match the database tables using domain model software design pattern.

Defining Entities to Match Database Tables

Accomplish by tying the results of an RDBMS query into an iteration of entity instances.

Tying Entity Classes to RDBMS Queries

Display information on a customer and have the view logic perform a second lookup that gets a list of purchases for that customer.

Embedding Secondary Lookups into Query Results

Make a slight modification to the secondary lookup code presented in the preceding section.

Implementing jQuery DataTables PHP Lookups
Building Scalable Websites
7 Lectures 49:15

In order to make a form generator generically useful, we need to create a generic form element generator. In this video, you will see how to do this.

Preview 07:21

A set of radio buttons needs the ability to display an overall label and errors. This video will help you create the radio button element generator.

Creating an HTML Radio Element Generator

In this video,you will see how to generate a SELECT tag and a series of OPTION tags.

Creating an HTML Select Element Generator

The purpose of a form factory is to generate a usable form object from a single configuration array. In this video, we will show how to implement the form factory.

Implementing a Form Factory

This video discusses how to incorporate the basic filtering concepts covered here into a comprehensive filter chaining mechanism.

Chaining $_POST Filters

This video discusses how to incorporate the basic validation concepts covered here into a comprehensive filter chaining mechanism.

Chaining $_POST Validators

Validation error messages can be tied to form elements, and rendered next to form fields. This video helps you to understand how this works.

Tying Validation to a Form
Accessing Web Services
5 Lectures 27:25

When considering a conversion between PHP data types and XML, we would normally consider an array as the primary target. The process of converting from a PHP array to XML differs radically from the approach needed to do the reverse. Let's see how we convert between them!

Preview 04:11

REST clients use HTTP to generate requests to external web services. By changing the HTTP method, we can cause the external service to perform different operations. In this video, we will use the Adapter software design pattern to present two different ways of implementing a REST client.

Creating a Simple REST Client

There are several concerns in a developer's mind, when implementing a REST server, such as how to capture the raw request; what API to publish and how to map HTTP verbs to API methods.?This video will guide you to create a REST server keeping all these factors in consideration.

Creating a Simple REST Server

Using SOAP, in contrast to the process of implementing a REST client or server, is quite easy as there is a PHP SOAP extension that provides both capabilities. Let's explore how to create a SOAP client.

Creating a Simple SOAP Client

As with the SOAP client, we can use the PHP SOAP extension to implement a SOAP server. The most difficult part of the implementation will be generating the WSDL from the API class. This video will show how to overcome this problem and create a SOAP server.

Creating a Simple SOAP Server
Looking at Advanced Algorithms
7 Lectures 37:01

Defining classes with public properties, which are directly read or written is considered a good practice. But, the properties are not protected. In order to do that, we must define a getter and setter. This video will show us how to retrieve and set the value of a property.

Preview 06:46

Similar to database, where you have a table that contains data, and a separate index that points to the data, a linked list is where one list contains keys that point to keys in another list. This video will guide you how to implement a linked list in PHP.

Implementing a Linked List

Bubble sort is quite a popular exercise among students. It's critical to master this algorithm as there are many instances where built-in PHP sorting functions do not apply. Let's see how we sort a multi-dimensional array.

Building a Bubble Sort

Stack is a simple algorithm implemented as Last In First Out (LIFO). In programming, it is used to temporarily store information. The retrieval order is such that the most recent item is retrieved first. Let's see how to implement stack in PHP.

Implementing a Stack

Conventional searches go through the list in a sequential manner, which means that the maximum possible number of items to be searched could be the whole length of the list! This is not efficient. To expedite a search, we must learn implementing a binary search.

Building a Binary Search Class

To implement a search engine, we need to ensure multiple columns are included in the search. Also, what makes it difficult is the fact that users rarely provide enough information for an exact match. Let's explore how we can implement a search engine to overcome this problem.

Implementing a Search Engine

Properly displaying data from a multi-dimensional array has been a classic problem for web developers. This video shows you how to solve this problem by incorporating "hidden" division tags with a simple JavaScript visibility toggle.

Displaying a Multi-dimensional Array and Accumulating Tools
Implementing Software Design Patterns
6 Lectures 38:24

The hydrator pattern is a variation of the data transfer object design pattern. Its design principle is: moving data from one place to another. In this illustration, we will define classes to move data from an array to an object.

Preview 02:49

This video is the converse of the previous video. In this case, we need to pull values from object properties and return an associative array.

Building an Object to Array Hydrator

It is often the case that runtime conditions force the developer to define several ways of doing the same thing often using if/elseif/else block of commands. The strategy pattern attempts to formalize this process.

Implementing a Strategy Pattern

A mapper or data mapper works in much the same manner as a hydrator: converting data from one model, be it array or object, into another.

Defining a Mapper

There are two primary techniques to achieve a relational mapping between objects.

Implementing Object-Relational Mapping

The purpose of the Pub/Sub design pattern is to allow a method or function to publish a signal when an action of significance has taken place.

Implementing the Pub/Sub Design Pattern
Improving Web Security
7 Lectures 50:40

Learn to present a basic mechanism that can be used to filter $_POST data arriving.

Preview 04:26

Validate to confirm the data matches criteria established according to the needs of your customer.

Validating $_POST Data

The ability to present several techniques will help you to safeguard your sessions.

Safeguarding the PHP Session

Learn to use a simple technique that will safeguard your forms against CSRF attacks.

Securing Forms with a Token

This video shows the ability to build a secure password generator using brute force attacks and rainbow tables.

Building a Secure Password Generator

Learn to design a token that is rendered into a graphic that is difficult for an automated attack system to decipher.

Safeguarding Forms with a CAPTCHA

This video shows the ability to understand how to perform strong encryption/decryption without using mcrypt.

Encrypting/Decrypting without mcrypt
1 More Section
About the Instructor
Packt Publishing
3.9 Average rating
8,274 Reviews
59,237 Students
687 Courses
Tech Knowledge in Motion

Packt has been committed to developer learning since 2004. A lot has changed in software since then - but Packt has remained responsive to these changes, continuing to look forward at the trends and tools defining the way we work and live. And how to put them to work.

With an extensive library of content - more than 4000 books and video courses -Packt's mission is to help developers stay relevant in a rapidly changing world. From new web frameworks and programming languages, to cutting edge data analytics, and DevOps, Packt takes software professionals in every field to what's important to them now.

From skills that will help you to develop and future proof your career to immediate solutions to every day tech challenges, Packt is a go-to resource to make you a better, smarter developer.

Packt Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.