Learning Path: Functional Programming For Php 7 Developers
Last updated 6/2019
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 1.28 GB | Duration: 8h 46m
Last updated 6/2019
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 1.28 GB | Duration: 8h 46m
Enhance your PHP 7 development skills by learning advanced PHP techniques and most importantly functional programming.
What you'll 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
Debug your code and get to know the best practices
Find out about PHP7’s internal closure object to write very powerful higher-order functions
Explore the benefits of writing functionally versus other paradigms
See function evaluation strategies in-depth and simulate a lazy invocation
Get an exposure to a completely functional PHP library called PRamda
Requirements
A core understanding of PHP 7
Description
Do you wish to advance your PHP development skills? Do you want to get equipped with the tools and skills required to deliver efficient applications for your websites and enterprises?
PHP 7 offers new features and tools to write optimized code. Functional programming is one such tool. If you’re a PHP developer looking at enhancing your skills by working on over 80 real-world tasks and learning functioning programming, this Learning Path is for you.
Packt’s Video Learning Paths are a series of individual video products put together in a logical and stepwise manner such that each video builds on the skills learned in the video before it.
This Learning Path will start by demonstrating intermediate to advanced PHP techniques. You’ll learn to solve practical, real-world problems faced by PHP developers like yourself every day. You’ll learn 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.
You’ll learn PHP7’s internal closure object, enabling you to write very powerful functions. This Learning Path provides helpful techniques and insights such as lazy function evaluation and currying that facilitate composing functions together.
Finally, you’ll be skilled enough to think about coding problems in terms of the composition of pure functions.
The goal of this course to equip you to perform efficient coding in PHP 7.
This Learning Path is authored by one of the best in the fields.
Doug Bierer
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.
Luis Atencio
Luis Atencio is a Staff Software Engineer for Citrix Systems in Ft. Lauderdale, FL. He has a BSc and an MSc in Computer Science and now works full time developing and architecting web applications using PHP, JavaScript, and Java platforms. Luis is also very involved in the community and has presented on several occasions at conferences and local meet-ups.
When he is not coding, Luis writes magazine articles for PHPArch and DZone. Luis is also the author of Functional Programming in JavaScript,Manning 2016, RxJS in Action, Manning 2016, and Functional PHP.
Overview
Section 1: PHP 7 Programming Solutions
Lecture 1 PHP 7 Installation Considerations
Lecture 2 Using PHP Server, Defining MYSQL, and Installing PHPUnit
Lecture 3 Implementing Class Autoloading
Lecture 4 Hoovering a Website
Lecture 5 Building a Deep Web Scanner
Lecture 6 Creating a PHP 5 to PHP 7 Code Converter
Lecture 7 Understanding the Abstract Syntax Tree
Lecture 8 Understanding Differences in Parsing
Lecture 9 Understanding Differences in foreach() Handling
Lecture 10 Improving Performance Using PHP 7 Enhancements
Lecture 11 Iterating Through a Massive File
Lecture 12 Uploading a Spreadsheet into a Database
Lecture 13 Recursive Directory Iterator
Lecture 14 Developing Functions
Lecture 15 Hinting at Data Types
Lecture 16 Using Return Value Data Typing
Lecture 17 Using Iterators
Lecture 18 Writing Your Own Iterator Using Generators
Lecture 19 Developing Classes
Lecture 20 Extending classes
Lecture 21 Using Static Properties and Methods
Lecture 22 Using Namespaces
Lecture 23 Defining Visibility
Lecture 24 Using Interfaces
Lecture 25 Using Traits
Lecture 26 Implementing Anonymous Classes
Lecture 27 Using PDO to Connect to a Database
Lecture 28 Building an OOP SQL Query Builder
Lecture 29 Handling Pagination
Lecture 30 Defining Entities to Match Database Tables
Lecture 31 Tying Entity Classes to RDBMS Queries
Lecture 32 Embedding Secondary Lookups into Query Results
Lecture 33 Implementing jQuery DataTables PHP Lookups
Lecture 34 Creating a Generic Form Element Generator
Lecture 35 Creating an HTML Radio Element Generator
Lecture 36 Creating an HTML Select Element Generator
Lecture 37 Implementing a Form Factory
Lecture 38 Chaining $_POST Filters
Lecture 39 Chaining $_POST Validators
Lecture 40 Tying Validation to a Form
Lecture 41 Converting between PHP and XML
Lecture 42 Creating a Simple REST Client
Lecture 43 Creating a Simple REST Server
Lecture 44 Creating a Simple SOAP Client
Lecture 45 Creating a Simple SOAP Server
Lecture 46 Using Getters and Setters
Lecture 47 Implementing a Linked List
Lecture 48 Building a Bubble Sort
Lecture 49 Implementing a Stack
Lecture 50 Building a Binary Search Class
Lecture 51 Implementing a Search Engine
Lecture 52 Displaying a Multi-dimensional Array and Accumulating Tools
Lecture 53 Creating an Array to Object Hydrator
Lecture 54 Building an Object to Array Hydrator
Lecture 55 Implementing a Strategy Pattern
Lecture 56 Defining a Mapper
Lecture 57 Implementing Object-Relational Mapping
Lecture 58 Implementing the Pub/Sub Design Pattern
Lecture 59 Filtering $_POST Data
Lecture 60 Validating $_POST Data
Lecture 61 Safeguarding the PHP Session
Lecture 62 Securing Forms with a Token
Lecture 63 Building a Secure Password Generator
Lecture 64 Safeguarding Forms with a CAPTCHA
Lecture 65 Encrypting/Decrypting without mcrypt
Lecture 66 Using Traits and Interfaces
Lecture 67 Universal Exception Handler
Lecture 68 Universal Error Handler
Lecture 69 Customizing Sessions Using the session_start Parameters
Section 2: Functional PHP 7
Lecture 70 The Course Overview
Lecture 71 Static versus Dynamic Typing
Lecture 72 The Closure Class
Lecture 73 Higher-Order Functions
Lecture 74 Reasoning About Your Code
Lecture 75 Declarative Programming
Lecture 76 Testable Functions
Lecture 77 What is Functional Programming?
Lecture 78 Pure Functions
Lecture 79 Loops versus Recursion
Lecture 80 FP Transformation
Lecture 81 Lazy versus Eager Evaluation
Lecture 82 Partial Function Application
Lecture 83 Currying
Lecture 84 The Composer of Functions
Lecture 85 Defining Composition
Lecture 86 PRamda Functional Library
Lecture 87 Auto-Currying and Composition
Lecture 88 Course Summary
PHP developers looking at enhancing their programming skills have this Video Learning Path for their learning,The Learning Path starts by taking 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. Then, it moves on with an easy-to-follow, from theoretical to practical, approach to bring your applications up to a functional way of thinking. Each step in the course is self-contained.