O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Learning Path: Dive Deeper into PHP Programming

Video Description

After 11 long years, we’re seeing the release of PHP 7, the first major version since PHP 5.0. With this Learning Path, you’ll get up to speed quickly with PHP 7, as you explore the new language features, important fixes, and more. Then, you’ll take your skills even further as you master PHP web services and security. This Learning Path is what you need to bring your PHP sites and apps current with the modern web.

Prerequisites: A solid foundation in building sites with PHP

Table of Contents

  1. Up to Speed with PHP 7, by David Powers
    1. Introduction To PHP 7 00:02:07
    2. About The Author 00:01:58
    3. Setting Up A Test Environment 00:02:07
    4. How To Access Your Working Files 00:01:15
    5. Internal Changes 00:03:59
    6. Changes To Existing Features 00:03:20
    7. Removed Features 00:04:26
    8. Comparing Values With The Spaceship Operator 00:06:10
    9. Substituting Unset Values With The Null Coalesce Operator 00:05:30
    10. Unicode Codepoint Escape Syntax 00:04:23
    11. Integer Division 00:05:12
    12. Generating Random Bytes 00:01:44
    13. Generating Random Numbers 00:01:57
    14. Multiple Callbacks With preg_replace_callback_array 00:07:52
    15. Return Type Declarations - Compound Types 00:07:04
    16. Introduction To Scalar Type Hinting 00:03:41
    17. Scalar Return Type Declarations 00:04:57
    18. Scalar Parameter Declarations 00:04:51
    19. Combining Scalar Parameter And Return Type Declarations 00:07:18
    20. Effect Of Strict Mode On Built-In Functions 00:04:18
    21. Using Scalar Type Hints With User Input 00:03:37
    22. Scalar Type Hinting - Review 00:03:41
    23. Anonymous Classes 00:07:36
    24. Generator Return Expressions 00:05:16
    25. Generator Delegation 00:05:37
    26. Binding To Closures At Call-Time 00:03:37
    27. Grouping Use Declarations 00:06:24
    28. Catching Fatal Errors 00:03:34
    29. Throwable Interface 00:02:56
    30. Catching Type And Parse Errors 00:04:19
    31. Reclassification of E_STRICT Errors 00:07:08
    32. New Reserved Words 00:00:55
    33. date.timezone Warning Removed 00:03:51
    34. Multiple Default Cases In Switch Statements 00:02:21
    35. Improve Security Of Unserialize 00:04:52
    36. Preserve Zero Fraction When Encoding As JSON 00:02:05
    37. Using Reserved Words In Classes 00:02:24
    38. Uniform Variable Syntax - Dereferencing 00:05:08
    39. Uniform Variable Syntax - Variable Variables 00:08:51
    40. Using Assertions For Debugging 00:05:27
    41. PHP 7 Assessed 00:02:57
  2. PHP Web Services, by Lorna Mitchell
    1. Course Overview 00:00:56
    2. PHP's Tools for HTTP 00:01:27
    3. PHP Curl Extension: Simple Example 00:05:12
    4. Doing More with Curl 00:07:18
    5. PHP Streams 00:09:45
    6. Guzzle: PHP's HTTP Library 00:01:20
    7. HTTP with Guzzle 00:06:32
    8. PHP as a Server 00:06:50
    9. Introduction to RPC Services 00:05:18
    10. Building an RPC Service 00:05:58
    11. Consuming an RPC Service 00:08:08
    12. Error Handling in RPC 00:04:55
    13. Introduction to SOAP Services 00:02:37
    14. Building Your Own SOAP Service 00:02:17
    15. Web Service Description Language 00:04:48
    16. Consuming a SOAP Service 00:02:44
    17. REST: Principles and Examples 00:12:04
    18. Building a RESTful Service in PHP 00:08:04
    19. Consuming a RESTful Service in PHP 00:04:20
    20. Endpoints to Use for Testing HTTP Requests 00:07:54
    21. Curl from the CLI 00:07:23
    22. Wireshark: Network Protocol Analyzer 00:05:17
    23. Charles: Web Debugging Proxy 00:09:03
    24. Designing Excellent APIs 00:03:35
    25. Picking a Data Format for Your API 00:06:33
    26. Caching for APIs 00:03:39
    27. Authentication in Your API 00:04:38
    28. Error Handling 00:04:07
  3. PHP Security, by Doug Bierer
    1. What Does The Course Cover? 00:09:33
    2. How To Set Up For The Course 00:04:43
    3. What Is The Threat? - Part 1 00:04:54
    4. What Is The Threat? - Part 2 00:05:34
    5. What Are The Consequences When A Website Is Not Protected Against Attacks? 00:03:19
    6. Most Common Forms Of Attack - Part 1 00:05:58
    7. Most Common Forms Of Attack - Part 2 00:05:42
    8. Most Common Vulnerabilities Attackers Can Exploit 00:10:09
    9. Helpful Resources 00:06:09
    10. Lab: Hacking Into Sweets Complete - Instructions 00:03:42
    11. Lab: Hacking Into Sweets Complete - Solution 00:03:42
    12. What Is Filtering, Validation, Output Escaping, And Why Do It? 00:09:37
    13. PHP Filtering Functions And Techniques 00:09:44
    14. PHP Validation Functions And Techniques 00:10:13
    15. PHP Output Escaping Functions 00:04:40
    16. Using filter_var() To Filter And Validate 00:06:30
    17. Lab: Filtering And Validating Posted Form Data - Instructions 00:04:24
    18. Lab: Filtering And Validating Posted Form Data - Solutions 00:07:14
    19. Cross-Site Scripting Attacks - Part 1 00:09:02
    20. Cross-Site Scripting Attacks - Part 2 00:04:17
    21. Cross-Site Scripting Attacks - Part 3 00:09:36
    22. Session Hijacking And Forgery Attacks - Part 1 00:05:23
    23. Session Hijacking And Forgery Attacks - Part 2 00:09:37
    24. Remote Code Injection Attacks - Part 1 00:07:05
    25. Remote Code Injection Attacks - Part 2 00:06:37
    26. Lab: Improving Security On An Existing Website - Instructions 00:02:39
    27. Lab: Improving Security On An Existing Website - Solutions 00:08:17
    28. Unplanned Information Disclosure - Part 1 00:06:46
    29. Unplanned Information Disclosure - Part 2 00:08:44
    30. Predictable Resource Location 00:07:37
    31. Insufficient Authorization 00:06:42
    32. Improper Access Controls 00:11:01
    33. Avoiding Misconfiguration 00:11:34
    34. Protecting File Uploads 00:06:37
    35. Lab: Improving Security On An Existing Website - Instructions 00:03:09
    36. Lab: Improving Security On An Existing Website - Solutions 00:06:31
    37. How Can You Protect A MySQL Database? 00:05:42
    38. MySQL Database Escaping And Quoting 00:03:44
    39. Using Prepared Statements 00:06:59
    40. Lab: Protecting A MySQL Database Against SQL Injection - Instructions 00:02:23
    41. Lab: Protecting A MySQL Database Against SQL Injection - Solutions 00:04:50
    42. Wrap Up 00:03:29
    43. About The Author 00:03:32