Урок 1.00:03:18
Introduction
Урок 2.00:03:52
The problem with writing web applications: how NOT to structure your code
Урок 3.00:03:09
The MVC pattern: What it is and how it can help you write better code
Урок 4.00:03:21
Install a web server, database server and PHP on your computer
Урок 5.00:03:50
Start writing the framework: Create the folders and configure the web server
Урок 6.00:02:59
Create a central entry point to the framework: the front controller
Урок 7.00:02:47
Configure the web server to have pretty URLs
Урок 8.00:02:37
Create and require (not include) the router class
Урок 9.00:02:13
Create the routing table in the router, and add some routes
Урок 10.00:03:06
Match the requested route to the list of routes in the routing table
Урок 11.00:01:35
Introduction to advanced routing using route variables
Урок 12.00:04:48
How to do complex string comparisons: an introduction to regular expressions
Урок 13.00:03:58
Using special characters in regular expressions: advanced pattern matching
Урок 14.00:02:34
Write even more powerful regular expressions: use character sets and ranges
Урок 15.00:02:58
Extract parts of strings using regular expression capture groups
Урок 16.00:05:37
Get the controller and action from a URL with a fixed structure
Урок 17.00:02:50
Replace parts of strings using regular expressions
Урок 18.00:05:31
Get the controller and action from a URL with a variable structure
Урок 19.00:02:52
Add custom variables of any format to the URL
Урок 20.00:01:30
Controllers and actions: an introduction
Урок 21.00:01:49
How to create objects and run methods dynamically
Урок 22.00:04:35
Dispatch the route: create the controller object and run the action method
Урок 23.00:03:48
How to better organise your classes by using namespaces
Урок 24.00:03:12
Class autoloading: load classes automatically without having to require them
Урок 25.00:02:55
Load classes automatically: add namespaces and an autoload function
Урок 26.00:02:26
Remove query string variables from the URL before matching to a route
Урок 27.00:02:33
Pass route parameters from the route to all controllers
Урок 28.00:02:25
The __call magic method: how to call inaccessible methods in a class
Урок 29.00:04:49
Action filters: call a method before and after every action in a controller
Урок 30.00:02:28
Organise controllers in subdirectories: add a route namespace option
Урок 31.00:01:01
Views: an introduction
Урок 32.00:02:16
Display a view: create a class to render views and use it in a controller
Урок 33.00:04:31
Output escaping: what it is, why do it, and how and when to do it
Урок 34.00:01:56
Pass data from the controller to the view
Урок 35.00:03:28
Templating engines: what they are and how they can improve your PHP code
Урок 36.00:02:23
Make views easier to create and maintain: add a template engine
Урок 37.00:02:21
Remove repetition in the view templates: add a base template to inherit from
Урок 38.00:03:00
Install third-party PHP code libraries automatically using Composer
Урок 39.00:03:35
Installing and using Composer
Урок 40.00:02:00
Install the template engine library using Composer
Урок 41.00:01:47
Include all package classes automatically using the Composer autoloader
Урок 42.00:01:04
Use the Composer autoloader to load the template engine library
Урок 43.00:02:52
Add your own classes to the Composer autoloader
Урок 44.00:02:58
Replace the autoload function with the Composer autoloader
Урок 45.00:01:44
Models: an introduction
Урок 46.00:02:59
Create a database and check you can connect to it from PHP
Урок 47.00:03:28
An introduction to PDO: why it makes working with databases in PHP easier
Урок 48.00:02:17
Add a model, get data from the database and display it in a view
Урок 49.00:02:52
Optimise the database connection: connect only on demand and reuse it
Урок 50.00:02:16
Put application configuration settings in a separate file
Урок 51.00:03:16
How PHP reports problems: errors, exceptions, and how to handle them
Урок 52.00:02:54
Handle errors: convert errors to exceptions and add an exception handler
Урок 53.00:02:03
PHP configuration settings: where to find them and how to change them
Урок 54.00:01:58
Configure PHP to display error messages
Урок 55.00:03:12
Show detailed error messages to developers, friendly error messages to users
Урок 56.00:03:15
Categorise different types of error using HTTP status codes
Урок 57.00:01:57
Add views to make error pages look nicer in production
Урок 58.00:03:14
A brief introduction to some popular frameworks
Урок 59.00:02:55
Conclusion