Companies Home Search Profile

Write PHP Like a Pro: Build a PHP MVC Framework From Scratch

Focused View

Dave Hollingworth

6:38:36

20 View
  • 1 - Introduction and Welcome How to Get the Most out of the Course.mp4
    01:00
  • 2 - Install the Recommended Software.mp4
    01:05
  • 2 - MAMP.txt
  • 2 - Visual Studio Code.txt
  • 2 - XAMPP.txt
  • 3 - Develop in the Web Servers Root Folder.mp4
    00:54
  • 4 - Configure the Web Server to Access the Code using a Virtual Host.mp4
    03:05
  • 4 - example-virtual-host.txt
  • 5 - Addendum Accessing the MySQL Console on the Command Line.html
  • 6 - Create a Database in the Local Database Server.mp4
    01:54
  • 6 - create-database.zip
  • 1 - MVC Concepts.html
  • 7 - 020-010-PHPMVC-SourceCode.zip
  • 7 - Retrieve Data from the Database using Plain PHP.mp4
    02:16
  • 8 - 020-012-PHPMVC-SourceCode.zip
  • 8 - Format the Data Using HTML.mp4
    01:36
  • 9 - The MVC Pattern How it Can Help You to Write Better Web Applications.mp4
    02:34
  • 10 - 020-030-PHPMVC-SourceCode.zip
  • 10 - Adapt Plain PHP Code to Fit the MVC Pattern Create a Model Class.mp4
    01:57
  • 10 - PHP Standards Recommendations.txt
  • 11 - 020-040-PHPMVC-SourceCode.zip
  • 11 - Adapt Plain PHP Code to Fit the MVC Pattern Create a View.mp4
    01:23
  • 11 - PSR12 File naming conventions.txt
  • 12 - 020-050-PHPMVC-SourceCode.zip
  • 12 - Adapt Plain PHP Code to Fit the MVC Pattern Create a Controller Class.mp4
    01:49
  • 13 - 020-060-PHPMVC-SourceCode.zip
  • 13 - Organise Controllers and Models into Folders.mp4
    02:16
  • 14 - 020-070-PHPMVC-SourceCode.zip
  • 14 - Organise Views into their Own Folder.mp4
    01:18
  • 2 - Controller Concepts.html
  • 15 - 030-010-PHPMVC-SourceCode.zip
  • 15 - Add Another Page How NOT to Do it in an MVC Framework.mp4
    02:11
  • 16 - 030-020-PHPMVC-SourceCode.zip
  • 16 - The Front Controller Handle All Requests with One Script.mp4
    01:50
  • 17 - 030-030-PHPMVC-SourceCode.zip
  • 17 - Add Another Controller and Select it in the Front Controller.mp4
    02:31
  • 18 - 030-040-PHPMVC-SourceCode.zip
  • 18 - Remove Repetition by Dynamically Creating Objects and Running Methods.mp4
    02:42
  • 19 - How to have Pretty URLs.mp4
    01:40
  • 19 - IIS-configuration.zip
  • 19 - nginx-configuration.txt
  • 20 - 040-020-PHPMVC-SourceCode.zip
  • 20 - Apache htaccess Files.txt
  • 20 - Apache modrewrite.txt
  • 20 - Enable URL Rewriting and htaccess Files.mp4
    01:55
  • 21 - 040-020-PHPMVC-SourceCode.zip
  • 21 - Add an htaccess File to Rewrite all URLs to indexphp.mp4
    01:41
  • 22 - 040-030-PHPMVC-SourceCode.zip
  • 22 - Get the Value of the URL Path in the Front Controller.mp4
    01:47
  • 22 - PHP SERVER.txt
  • 23 - 040-040-PHPMVC-SourceCode.zip
  • 23 - PHP parseurl.txt
  • 23 - Remove the Query String and Get the Controller and Action from the URL Path.mp4
    02:35
  • 24 - 050-010-PHPMVC-SourceCode.zip
  • 24 - Routes Routing and the Router Add a Router Class.mp4
    01:59
  • 25 - 050-020-PHPMVC-SourceCode.zip
  • 25 - Add the Routing Table and Some Routes.mp4
    01:51
  • 26 - 050-030-PHPMVC-SourceCode.zip
  • 26 - Match the Route Path to the Routes in the Routing Table.mp4
    01:36
  • 27 - 050-040-PHPMVC-SourceCode.zip
  • 27 - Use the Controller and Action from the Matched Route.mp4
    01:06
  • 28 - 050-050-PHPMVC-SourceCode.zip
  • 28 - Show a Message if no Route Matches.mp4
    01:07
  • 29 - 060-010-PHPMVC-SourceCode.zip
  • 29 - Class Autoloading Load Classes Automatically Without Having to Require Them.mp4
    02:15
  • 30 - 060-020-PHPMVC-SourceCode.zip
  • 30 - Add an Autoload Function and Require the Router Class Automatically.mp4
    02:28
  • 30 - PHP splautoloadregister.txt
  • 31 - 060-020-PHPMVC-SourceCode.zip
  • 31 - Try to Load the Controller Class Using the Autoloader.mp4
    00:58
  • 32 - Namespaces What They Are and How to Use Them.mp4
    01:07
  • 33 - 060-040-PHPMVC-SourceCode.zip
  • 33 - Organise Classes in Namespaces and Corresponding Folders.mp4
    02:16
  • 34 - 060-050-PHPMVC-SourceCode.zip
  • 34 - Change the Autoloader to Include the Namespace.mp4
    02:40
  • 35 - 060-060-PHPMVC-SourceCode.zip
  • 35 - Load the Controller in its Namespace.mp4
    01:49
  • 36 - 060-070-PHPMVC-SourceCode.zip
  • 36 - The Root Namespace and Relativity Load the Model in its Namespace.mp4
    01:56
  • 37 - 060-080-PHPMVC-SourceCode.zip
  • 37 - Import a Class Into the Current Namespace With a Use Statement.mp4
    02:09
  • 38 - Introduction to Advanced Routing More Flexible Routes Using Patterns.mp4
    01:26
  • 39 - How to do Complex String Comparisons An Introduction to Regular Expressions.mp4
    01:57
  • 39 - PHP Regular Expressions.txt
  • 40 - 070-030-PHPMVC-SourceCode.zip
  • 40 - Match the URL Path to a Regular Expression.mp4
    01:49
  • 40 - PHP Regular Expression Delimiters.txt
  • 40 - PHP pregmatch.txt
  • 41 - 070-040-PHPMVC-SourceCode.zip
  • 41 - Using Special Characters in Regular Expressions Matching the Start and End.mp4
    02:58
  • 42 - Matching Patterns Character Sets in Regular Expressions.mp4
    02:07
  • 43 - Repetition in Regular Expressions.mp4
    02:07
  • 44 - 070-070-PHPMVC-SourceCode.zip
  • 44 - Match the URL Path to a Pattern Instead of a Fixed String.mp4
    01:19
  • 45 - 070-080-PHPMVC-SourceCode.zip
  • 45 - Get Segments from the Matched String using Capture Groups.mp4
    02:15
  • 45 - PHP pregmatch.txt
  • 46 - 070-090-PHPMVC-SourceCode.zip
  • 46 - Use Named Capture Groups to Name the Captured Segments.mp4
    02:04
  • 47 - 070-100-PHPMVC-SourceCode.zip
  • 47 - Pass the Captured Controller and Action to the Front Controller.mp4
    02:37
  • 48 - How to Have More Flexible Routing with Route Variables.mp4
    01:05
  • 49 - 080-020-PHPMVC-SourceCode.zip
  • 49 - Add a Route with Variables and Make Parameters Optional when Adding a Route.mp4
    02:08
  • 50 - 080-030-PHPMVC-SourceCode.zip
  • 50 - Process the Route Path One Segment at a Time.mp4
    01:55
  • 51 - 080-040-PHPMVC-SourceCode.zip
  • 51 - Convert the Segment with a Variable into a Named Capture Group.mp4
    02:42
  • 52 - 080-050-PHPMVC-SourceCode.zip
  • 52 - Complete the RouteMatching Regular Expression.mp4
    00:58
  • 53 - 080-055-PHPMVC-SourceCode.zip
  • 53 - Use the Generated Regular Expression to Match the URL Path.mp4
    01:54
  • 54 - 080-060-PHPMVC-SourceCode.zip
  • 54 - Enable Literal Segments in the Route Paths.mp4
    02:26
  • 55 - 080-070-PHPMVC-SourceCode.zip
  • 55 - Add a Route with Another Variable.mp4
    02:23
  • 56 - Wildcards and Negated Character Classes in Regular Expressions.mp4
    01:15
  • 57 - 080-074-PHPMVC-SourceCode.zip
  • 57 - Match Any Value in the URL Segment for a Route Variable.mp4
    01:29
  • 58 - Route Variable Patterns and Shorthand Character Classes in Regular Expressions.mp4
    02:06
  • 59 - 080-090-PHPMVC-SourceCode.zip
  • 59 - Enable Optional Custom Regular Expressions for Route Variables.mp4
    02:28
  • 60 - 080-100-PHPMVC-SourceCode.zip
  • 60 - Match the URL Path in a Caseinsensitive Manner.mp4
    01:43
  • 61 - 080-110-PHPMVC-SourceCode.zip
  • 61 - Match Unicode Characters in the URL Path.mp4
    02:24
  • 62 - 080-120-PHPMVC-SourceCode.zip
  • 62 - Add General Routes After More Specific Ones.mp4
    01:25
  • 63 - 090-010-PHPMVC-SourceCode.zip
  • 63 - Dispatching Create a Dispatcher Class and Use it From the Front Controller.mp4
    02:10
  • 64 - 090-015-PHPMVC-SourceCode.zip
  • 64 - Create a Dispatcher Method to Handle the Request.mp4
    00:59
  • 65 - 090-020-PHPMVC-SourceCode.zip
  • 65 - Pass Route Variables to the Action Method as Arguments.mp4
    02:13
  • 66 - 090-030-PHPMVC-SourceCode.zip
  • 66 - PHP Reflection.txt
  • 66 - Use Reflection to Get the Action Method Argument Names.mp4
    02:14
  • 67 - 090-035-PHPMVC-SourceCode.zip
  • 67 - Match the Action Method Argument Names to Parameter Values.mp4
    02:22
  • 68 - 090-040-PHPMVC-SourceCode.zip
  • 68 - PHP Splat operator.txt
  • 68 - Pass the Argument Values to the Action Method.mp4
    02:47
  • 69 - 090-050-PHPMVC-SourceCode.zip
  • 69 - Allow Multipleword Controller Classes and Action Method Names.mp4
    03:00
  • 69 - PHP OO Basics.txt
  • 69 - PHP Userdefined functions.txt
  • 69 - PSR1 Basic Coding Standard.txt
  • 70 - 090-060-PHPMVC-SourceCode.zip
  • 70 - Convert the Controller Parameter to StudlyCaps.mp4
    02:08
  • 71 - 090-070-PHPMVC-SourceCode.zip
  • 71 - Convert the Action Parameter to camelCase.mp4
    02:08
  • 72 - 090-080-PHPMVC-SourceCode.zip
  • 72 - Add a Namespaced Controllers Option.mp4
    02:09
  • 73 - 100-010-PHPMVC-SourceCode.zip
  • 73 - An Introduction to Views Create a Viewer Class.mp4
    02:06
  • 74 - 100-020-PHPMVC-SourceCode.zip
  • 74 - Add a Render Method and Use it from the Controller.mp4
    02:01
  • 75 - 100-030-PHPMVC-SourceCode.zip
  • 75 - PHP extract.txt
  • 75 - Pass Optional Data to the View when Rendering it.mp4
    01:56
  • 76 - 100-040-PHPMVC-SourceCode.zip
  • 76 - PHP Output Buffering.txt
  • 76 - PHP filegetcontents.txt
  • 76 - Use Output Buffering to Load the Contents of the Template.mp4
    02:37
  • 77 - 100-050-PHPMVC-SourceCode.zip
  • 77 - Organise View Templates in Subfolders.mp4
    02:43
  • 78 - 100-060-PHPMVC-SourceCode.zip
  • 78 - Add Shared View Templates for Common Code.mp4
    02:25
  • 79 - 100-070-PHPMVC-SourceCode.zip
  • 79 - Add a Title Variable to the Shared Header Template.mp4
    01:19
  • 80 - 110-010-PHPMVC-SourceCode.zip
  • 80 - An Introduction to Dependency Injection Inject the Viewer into the Controller.mp4
    02:18
  • 81 - 110-020-PHPMVC-SourceCode.zip
  • 81 - Inject a Model Object into the Controller.mp4
    01:32
  • 82 - 110-030-PHPMVC-SourceCode.zip
  • 82 - PHP ReflectionParameter types.txt
  • 82 - Use Reflection to Get the Controller Constructor Arguments.mp4
    02:36
  • 83 - 110-040-PHPMVC-SourceCode.zip
  • 83 - Autowiring Create the Controller Dependencies from the Type Declarations.mp4
    01:18
  • 84 - 110-050-PHPMVC-SourceCode.zip
  • 84 - Extract the Database Connection Code out into a Separate Class.mp4
    02:11
  • 85 - 110-060-PHPMVC-SourceCode.zip
  • 85 - Add a Database Object as a Dependency to the Model.mp4
    01:24
  • 86 - 110-070-PHPMVC-SourceCode.zip
  • 86 - Create All Dependencies in the Object Graph Using Recursion.mp4
    02:58
  • 87 - 120-010-PHPMVC-SourceCode.zip
  • 87 - Remove the Hardcoded Database Connection Credentials.mp4
    02:00
  • 88 - 120-020-PHPMVC-SourceCode.zip
  • 88 - Create a Container Class and Use it from the Dispatcher.mp4
    01:58
  • 89 - 120-030-PHPMVC-SourceCode.zip
  • 89 - Add a Registry to the Container and Bind a Value for the Database Class.mp4
    02:15
  • 90 - 120-040-PHPMVC-SourceCode.zip
  • 90 - Store Closures in the Service Container Instead of Objects.mp4
    02:25
  • 91 - 120-050-PHPMVC-SourceCode.zip
  • 91 - Output a Message if a Class Cannot Be Created Automatically.mp4
    02:04
  • 91 - PHP ReflectionProperty Types.txt
  • 92 - 120-060-PHPMVC-SourceCode.zip
  • 92 - PHP ReflectionProperty Types.txt
  • 92 - Validate the Type Declarations in the Service Container.mp4
    02:30
  • 93 - 120-070-PHPMVC-SourceCode.zip
  • 93 - Find Potential Bugs More Easily by Enabling Strict Type Checking.mp4
    02:12
  • 93 - PHP Reflection Named Types.txt
  • 94 - 130-010-PHPMVC-SourceCode.zip
  • 94 - Throw an Exception Instead of Using an exit Statement.mp4
    02:00
  • 95 - 130-020-PHPMVC-SourceCode.zip
  • 95 - PHP Exception.txt
  • 95 - PHP Predefined Exceptions.txt
  • 95 - Use Standard PHP Library SPL Exception Classes to Give More Detail.mp4
    02:17
  • 96 - 130-030-PHPMVC-SourceCode.zip
  • 96 - Throw a Custom Exception if There is no Match for the URL Path.mp4
    01:55
  • 97 - 130-040-PHPMVC-SourceCode.zip
  • 97 - PHP parseurl.txt
  • 97 - Throw an Exception for a Malformed URL.mp4
    01:23
  • 98 - 130-050-PHPMVC-SourceCode.zip
  • 98 - PHP Runtime Configuration for displaying errors.txt
  • 98 - Toggle the Display of the Exception Details.mp4
    01:58
  • 99 - 130-060-PHPMVC-SourceCode.zip
  • 99 - Display a Custom View When an Exception Occurs.mp4
    01:51
  • 100 - 130-070-PHPMVC-SourceCode.zip
  • 100 - PHP errorlog setting.txt
  • 100 - PHP logerrors setting.txt
  • 100 - Write the Error Details to a Log File on the Server.mp4
    02:01
  • 101 - 130-080-PHPMVC-SourceCode.zip
  • 101 - Define an Exception Handler to Handle All Exceptions.mp4
    02:32
  • 101 - PHP setexceptionhandler.txt
  • 102 - 130-085-PHPMVC-SourceCode.zip
  • 102 - Add an Error Handler to Convert Errors to Exceptions.mp4
    02:59
  • 102 - PHP ErrorExceptions.txt
  • 102 - PHP Errors.txt
  • 102 - PHP seterrorhandler.txt
  • 103 - 130-090-PHPMVC-SourceCode.zip
  • 103 - Return a 200 404 or 500 HTTP Response Code.mp4
    01:48
  • 104 - 130-100-PHPMVC-SourceCode.zip
  • 104 - Display a Custom View Template for a Page Not Found Error.mp4
    01:43
  • 105 - 140-010-PHPMVC-SourceCode.zip
  • 105 - Move the Error Handler into a Separate Class.mp4
    02:38
  • 106 - 140-015-PHPMVC-SourceCode.zip
  • 106 - Move the Exception Handler into a Separate Class.mp4
    01:15
  • 107 - 140-020-PHPMVC-SourceCode.zip
  • 107 - Move the Routes to a Separate Configuration File.mp4
    01:38
  • 108 - 140-030-PHPMVC-SourceCode.zip
  • 108 - Move the Services to a Separate Configuration File.mp4
    01:18
  • 109 - 140-040-PHPMVC-SourceCode.zip
  • 109 - Environment variables.txt
  • 109 - Options for Storing Configuration Settings that Change Between Servers.mp4
    01:29
  • 109 - PHP SERVER.txt
  • 110 - 140-050-PHPMVC-SourceCode.zip
  • 110 - Create a env File and a Class to Read its Contents.mp4
    02:57
  • 111 - 140-060-PHPMVC-SourceCode.zip
  • 111 - Replace Hardcoded Configuration Settings with Those from the env File.mp4
    02:41
  • 112 - 150-010-PHPMVC-SourceCode.zip
  • 112 - Add a Static File and Configure the Framework to Allow Access to It.mp4
    03:10
  • 113 - 150-020-PHPMVC-SourceCode.zip
  • 113 - Add a public Folder and Move BrowserAccessible Files into It.mp4
    01:56
  • 114 - Make the public Folder the Root in the Web Server Configuration.mp4
    01:23
  • 115 - 150-040-PHPMVC-SourceCode.zip
  • 115 - Add an htaccess File to Remove public from the URL.mp4
    01:23
  • 116 - 150-050-PHPMVC-SourceCode.zip
  • 116 - Adapt the Framework to Load the Code Outside of the public folder.mp4
    02:56
  • 117 - 150-060-PHPMVC-SourceCode.zip
  • 117 - Load Custom Error Pages from the Correct Folder.mp4
    01:38
  • 118 - 160-010-PHPMVC-SourceCode.zip
  • 118 - Display a Single Record Identified by the ID from the URL.mp4
    02:14
  • 119 - 160-020-PHPMVC-SourceCode.zip
  • 119 - Throw a PageNotFound Exception if the Record isnt Found with the Specified ID.mp4
    02:08
  • 120 - 160-030-PHPMVC-SourceCode.zip
  • 120 - Add a Base Model Class to Contain Common Functionality.mp4
    02:12
  • 121 - 160-040-PHPMVC-SourceCode.zip
  • 121 - Add a Property to Replace the Hardcoded Table Name.mp4
    01:46
  • 122 - 160-050-PHPMVC-SourceCode.zip
  • 122 - Default the Table Name to the Lowercase Model Class Name.mp4
    02:50
  • 123 - 170-010-PHPMVC-SourceCode.zip
  • 123 - Add a Form for Creating a New Record.mp4
    02:13
  • 123 - Classless CSS.txt
  • 123 - Watercss.txt
  • 124 - 170-020-PHPMVC-SourceCode.zip
  • 124 - Insert the New Record Into the Database Using the Model.mp4
    02:25
  • 125 - 170-030-PHPMVC-SourceCode.zip
  • 125 - Generate the SQL Dynamically Based on the Name and Number of Columns.mp4
    02:14
  • 126 - 170-040-PHPMVC-SourceCode.zip
  • 126 - Dynamically Bind Values to the Placeholders Based On Their Data Type.mp4
    02:30
  • 126 - PHP PDO Constants.txt
  • 127 - 170-050-PHPMVC-SourceCode.zip
  • 127 - Add a Validation Method to Prevent Empty Records from Being Inserted.mp4
    01:16
  • 128 - 170-060-PHPMVC-SourceCode.zip
  • 128 - Add Specific Validation Error Messages for Each Field.mp4
    02:11
  • 129 - 170-070-PHPMVC-SourceCode.zip
  • 129 - Redisplay the Form with the Error Messages for Invalid Data.mp4
    01:36
  • 130 - 170-080-PHPMVC-SourceCode.zip
  • 130 - Extract out Common Code to the Framework Model Class.mp4
    02:52
  • 131 - 170-090-PHPMVC-SourceCode.zip
  • 131 - Cache the Database Connection to get the ID of the New Record.mp4
    02:46
  • 132 - 170-100-PHPMVC-SourceCode.zip
  • 132 - Redirect to the Show Page After Adding a New Record.mp4
    00:54
  • 133 - 180-010-PHPMVC-SourceCode.zip
  • 133 - Create a Page for Editing an Existing Record.mp4
    01:49
  • 134 - 180-020-PHPMVC-SourceCode.zip
  • 134 - Display the Form Containing the Records Existing Attributes.mp4
    02:40
  • 135 - 180-030-PHPMVC-SourceCode.zip
  • 135 - Process the Edit Form and Validate the Data.mp4
    02:52
  • 136 - 180-040-PHPMVC-SourceCode.zip
  • 136 - Redisplay Previous Data when Redisplaying the Form.mp4
    01:47
  • 137 - 180-050-PHPMVC-SourceCode.zip
  • 137 - Update the Data in the Database Using the Model.mp4
    03:00
  • 138 - 180-060-PHPMVC-SourceCode.zip
  • 138 - Add a Method to the Controller to Get the Current Record.mp4
    01:26
  • 139 - 180-070-PHPMVC-SourceCode.zip
  • 139 - Add a Confirmation Page for Deleting an Existing Record.mp4
    01:44
  • 140 - 180-080-PHPMVC-SourceCode.zip
  • 140 - Add a Model Method to Delete a Record.mp4
    02:09
  • 141 - 180-090-PHPMVC-SourceCode.zip
  • 141 - Add a Method Specific to a Child Model Class.mp4
    03:25
  • 142 - 190-010-PHPMVC-SourceCode.zip
  • 142 - Add a Separate Method to Process the Delete Form Submission.mp4
    01:52
  • 143 - 190-020-PHPMVC-SourceCode.zip
  • 143 - Replace the Generic Route with an ID with Specific Routes.mp4
    01:05
  • 144 - 190-030-PHPMVC-SourceCode.zip
  • 144 - Include the HTTP Method When Matching the Route.mp4
    02:36
  • 145 - 200-010-PHPMVC-SourceCode.zip
  • 145 - Create a Request Class to Encapsulate Global Request Data.mp4
    02:43
  • 146 - 200-020-PHPMVC-SourceCode.zip
  • 146 - Use the Request Class in the Dispatcher.mp4
    02:02
  • 147 - 200-030-PHPMVC-SourceCode.zip
  • 147 - Add Other Superglobals to the Request Class.mp4
    02:22
  • 147 - PHP Superglobals.txt
  • 148 - 200-040-PHPMVC-SourceCode.zip
  • 148 - Inject the Request Object into the Controller and Use it Instead of Superglobals.mp4
    02:26
  • 149 - 200-050-PHPMVC-SourceCode.zip
  • 149 - Add a Parent Controller Class for All Controllers to Extend.mp4
    02:04
  • 150 - 200-060-PHPMVC-SourceCode.zip
  • 150 - Add a Property and Setter Method for the Viewer Dependency.mp4
    02:16
  • 151 - 210-010-PHPMVC-SourceCode.zip
  • 151 - Create Multiple Viewer Classes to Render Different Types of View Templates.mp4
    03:53
  • 152 - 210-020-PHPMVC-SourceCode.zip
  • 152 - Create an Interface for Viewer Classes.mp4
    03:16
  • 153 - 210-030-PHPMVC-SourceCode.zip
  • 153 - Decouple the Dispatcher from the Viewer Class.mp4
    04:16
  • 154 - 210-040-PHPMVC-SourceCode.zip
  • 154 - Add a Single Template to Render from the New Viewer Class.mp4
    01:47
  • 155 - 210-050-PHPMVC-SourceCode.zip
  • 155 - Replace PHP Variables with the Alternative Variable Syntax.mp4
    04:53
  • 156 - 210-060-PHPMVC-SourceCode.zip
  • 156 - Execute the Generated PHP Code and Output It.mp4
    02:24
  • 157 - 210-070-PHPMVC-SourceCode.zip
  • 157 - Use Alternative Syntax for Control Structures.mp4
    02:42
  • 158 - 220-010-PHPMVC-SourceCode.zip
  • 158 - Create a Base Template and Modify the Index Template to Extend It.mp4
    03:46
  • 159 - 220-020-PHPMVC-SourceCode.zip
  • 159 - Load the Optional Base Template Identified in the Child Template.mp4
    02:42
  • 160 - 220-030-PHPMVC-SourceCode.zip
  • 160 - Start to Extract the Block Data from the Child Template.mp4
    02:12
  • 161 - 220-040-PHPMVC-SourceCode.zip
  • 161 - Match Newline Characters and Use Lazy Matching to Extract the Blocks.mp4
    02:30
  • 162 - 220-050-PHPMVC-SourceCode.zip
  • 162 - Replace Yields in the Base Template with the Corresponding Block.mp4
    03:24
  • 163 - 220-060-PHPMVC-SourceCode.zip
  • 163 - Change the show Template to Use the Alternative Syntax.mp4
    01:34
  • 164 - 220-065-PHPMVC-SourceCode.zip
  • 164 - Provide a Default Value when Displaying null Values.mp4
    01:18
  • 165 - 220-070-PHPMVC-SourceCode.zip
  • 165 - Modify the new and create Templates to Use the Alternative Syntax.mp4
    01:50
  • 166 - 220-080-PHPMVC-SourceCode.zip
  • 166 - Convert the Shared Form Template to the Alternative Syntax.mp4
    01:52
  • 167 - 220-090-PHPMVC-SourceCode.zip
  • 167 - Add Functionality to the Template Viewer to Process Included Files.mp4
    03:12
  • 168 - 220-100-PHPMVC-SourceCode.zip
  • 168 - Change the edit update and delete Methods to use the Alternative Syntax.mp4
    02:27
  • 169 - 230-010-PHPMVC-SourceCode.zip
  • 169 - Add a Response Class and Inject a Response Object Into the Controller.mp4
    02:22
  • 170 - 230-020-PHPMVC-SourceCode.zip
  • 170 - Add a Body Property to the Response Object and Output It.mp4
    01:43
  • 171 - 230-030-PHPMVC-SourceCode.zip
  • 171 - Return a Response Object to the Dispatcher from the Controller.mp4
    01:10
  • 172 - 230-040-PHPMVC-SourceCode.zip
  • 172 - Add a Method to Return a Response Containing a Rendered View.mp4
    01:23
  • 173 - 230-050-PHPMVC-SourceCode.zip
  • 173 - Change the Other Action Methods to Return a Response.mp4
    01:35
  • 174 - 230-060-PHPMVC-SourceCode.zip
  • 174 - Add a Method to Redirect from a Controller.mp4
    03:18
  • 175 - 230-070-PHPMVC-SourceCode.zip
  • 175 - Add a Method to Set the HTTP Response Code.mp4
    02:24
  • 175 - HTTP 451.txt
  • 176 - 240-010-PHPMVC-SourceCode.zip
  • 176 - An Introduction to Middleware.mp4
    02:07
  • 177 - 240-020-PHPMVC-SourceCode.zip
  • 177 - Add a Middleware Class that Modifies the Response.mp4
    02:18
  • 178 - 240-030-PHPMVC-SourceCode.zip
  • 178 - Define an Interface for Handling a Request.mp4
    01:36
  • 179 - 240-040-PHPMVC-SourceCode.zip
  • 179 - Create a Class to Handle Controller Requests.mp4
    03:22
  • 180 - 240-050-PHPMVC-SourceCode.zip
  • 180 - Chain the Middleware and the Controller Action Together.mp4
    01:19
  • 181 - 240-060-PHPMVC-SourceCode.zip
  • 181 - Add a Class to Run the Middleware Pipeline.mp4
    02:28
  • 182 - 240-070-PHPMVC-SourceCode.zip
  • 182 - Process Middleware Components in a Chain.mp4
    01:57
  • 183 - 240-080-PHPMVC-SourceCode.zip
  • 183 - Add a Middleware Class that Modifies the Request.mp4
    02:21
  • 184 - 240-090-PHPMVC-SourceCode.zip
  • 184 - Add a Configuration File to Assign Short Names to Middleware Classes.mp4
    02:27
  • 185 - 240-100-PHPMVC-SourceCode.zip
  • 185 - Get the Specified Middleware from the Route.mp4
    02:24
  • 186 - 240-110-PHPMVC-SourceCode.zip
  • 186 - Create the Middleware Objects in the Dispatcher.mp4
    02:37
  • 187 - 240-120-PHPMVC-SourceCode.zip
  • 187 - Add a Middleware Interface.mp4
    01:26
  • 188 - 240-130-PHPMVC-SourceCode.zip
  • 188 - Add a Middleware Class that Returns a Redirect Response.mp4
    02:50
  • 189 - Conclusion.mp4
    01:03
  • 190 - Bonus Lecture Discounts on Other Courses and Web Hosting.html
  • Description


    Write faster, easier to maintain, more secure PHP websites by creating your own Model View Controller framework

    What You'll Learn?


    • Efficiently organise your PHP code into models, views and controllers
    • Separate application code (PHP) from presentation code (HTML)
    • Learn concepts like dependency injection, templating and middleware
    • Best practices for handling errors and exceptions in PHP
    • How frameworks like Laravel or CodeIgniter work
    • Have pretty URLs instead of PHP filenames
    • Object-oriented (OO) techniques such as inheritance, interfaces, abstract classes and more

    Who is this for?


  • This PHP MVC course is meant for those who already know PHP but want to know how they can improve their code by using a framework. This course is not for you if you don't already know PHP.
  • The gap between learning PHP and using a framework can be large - if you've just learnt PHP and you're wondering what the next step might be, this course is for you.
  • What You Need to Know?


  • You should already be familiar with PHP and HTML.
  • You should be comfortable installing software on your computer - in the first section we'll be installing a web server.
  • More details


    Description

    Most modern PHP development uses a framework like Laravel or CodeIgniter. However, the jump from using basic PHP to using a framework can be difficult. This course bridges that gap.

    Frameworks can make your PHP projects faster, easier to write and maintain, and more secure.

    Learn to structure your PHP Code like a professional by building a PHP MVC framework from scratch.

    • Learn how to efficiently organise your code

    • Separate application code (PHP) from presentation code (HTML)

    • Have pretty URLs instead of PHP filenames

    • Develop advanced routing using regular expressions

    • Learn concepts like dependency injection, templating and middleware

    • Use object-oriented (OO) techniques such as inheritance, interfaces, abstract classes and more

    • Develop a full CRUD application using the MVC pattern

    The essential skills required to understand and use a PHP MVC framework.

    Developing PHP applications is faster and more secure if you use a framework. Learning how to use an MVC framework puts a very powerful tool at your fingertips. By developing your own from scratch, you'll gain an understanding of just how each component works.

    Frameworks like Laravel, Symfony and CodeIgniter all use the MVC pattern, so understanding how an MVC framework is put together will give you a strong background to more easily learn frameworks such as these.

    Content and Overview

    This course is designed for developers who know PHP but don't know how to use a framework. I designed the course for developers who want to develop full, feature-rich applications quickly and easily. Learning the techniques on this course will enable you to write web applications using the framework you build, but also learn frameworks like Laravel much more easily.

    • Suitable for all PHP developers, you'll start by learning the basics of a PHP MVC framework.

    • You'll learn how to organise your code into models, views and controllers, and how to work efficiently with them.

    • We'll build a full web application from scratch, with each concept explained in detail at every stage.

    • Throughout the course, we'll build code that you can reuse in all your projects.

    • All the source code developed in the lectures is available to download.

    • All the time we'll adhere to industry standards and best practices.

    When you complete the course you'll be able to use your framework to create fast, flexible web applications, with all the features a modern web application requires.

    Complete with all the code shown in the lectures, you'll be able to work alongside the instructor and will receive a verifiable certificate of completion upon finishing the course.

    Also, at all times throughout the course you have access to the instructor in the Q&A section to ask for help with any topic related to the course.

    Enrol now and become a master of PHP MVC frameworks!

    Who this course is for:

    • This PHP MVC course is meant for those who already know PHP but want to know how they can improve their code by using a framework. This course is not for you if you don't already know PHP.
    • The gap between learning PHP and using a framework can be large - if you've just learnt PHP and you're wondering what the next step might be, this course is for you.

    User Reviews
    Rating
    0
    0
    0
    0
    0
    average 0
    Total votes0
    Focused display
    Category

    PHP

    Dave Hollingworth
    Dave Hollingworth
    Instructor's Courses

    Hi, I'm Dave Hollingworth. I'm an IT trainer and web application developer. I've been writing code and teaching IT for over twenty years.

    I've developed enterprise-level applications on platforms ranging from mainframes to mobiles: from my first web application, a quotes system created for a major insurance company back in 1999 - the first of its type in the sector - to interactive learning management systems for online language learning.

    I've taught courses ranging from basic use of email to advanced web application development, both online and in-person.

    I'm passionate about technology, and love teaching it! I believe it's possible to explain even the most complex subjects in a simple, straightforward way that doesn't confuse the student.

    I look forward to welcoming you onto one of my courses!

    Students take courses primarily to improve job-related skills.Some courses generate credit toward technical certification. Udemy has made a special effort to attract corporate trainers seeking to create coursework for employees of their company.
    • language english
    • Training sessions 188
    • duration 6:38:36
    • English subtitles has
    • Release Date 2024/04/23