1. Урок 1. 00:03:18
    Introduction
  2. Урок 2. 00:03:52
    The problem with writing web applications: how NOT to structure your code
  3. Урок 3. 00:03:09
    The MVC pattern: What it is and how it can help you write better code
  4. Урок 4. 00:03:21
    Install a web server, database server and PHP on your computer
  5. Урок 5. 00:03:50
    Start writing the framework: Create the folders and configure the web server
  6. Урок 6. 00:02:59
    Create a central entry point to the framework: the front controller
  7. Урок 7. 00:02:47
    Configure the web server to have pretty URLs
  8. Урок 8. 00:02:37
    Create and require (not include) the router class
  9. Урок 9. 00:02:13
    Create the routing table in the router, and add some routes
  10. Урок 10. 00:03:06
    Match the requested route to the list of routes in the routing table
  11. Урок 11. 00:01:35
    Introduction to advanced routing using route variables
  12. Урок 12. 00:04:48
    How to do complex string comparisons: an introduction to regular expressions
  13. Урок 13. 00:03:58
    Using special characters in regular expressions: advanced pattern matching
  14. Урок 14. 00:02:34
    Write even more powerful regular expressions: use character sets and ranges
  15. Урок 15. 00:02:58
    Extract parts of strings using regular expression capture groups
  16. Урок 16. 00:05:37
    Get the controller and action from a URL with a fixed structure
  17. Урок 17. 00:02:50
    Replace parts of strings using regular expressions
  18. Урок 18. 00:05:31
    Get the controller and action from a URL with a variable structure
  19. Урок 19. 00:02:52
    Add custom variables of any format to the URL
  20. Урок 20. 00:01:30
    Controllers and actions: an introduction
  21. Урок 21. 00:01:49
    How to create objects and run methods dynamically
  22. Урок 22. 00:04:35
    Dispatch the route: create the controller object and run the action method
  23. Урок 23. 00:03:48
    How to better organise your classes by using namespaces
  24. Урок 24. 00:03:12
    Class autoloading: load classes automatically without having to require them
  25. Урок 25. 00:02:55
    Load classes automatically: add namespaces and an autoload function
  26. Урок 26. 00:02:26
    Remove query string variables from the URL before matching to a route
  27. Урок 27. 00:02:33
    Pass route parameters from the route to all controllers
  28. Урок 28. 00:02:25
    The __call magic method: how to call inaccessible methods in a class
  29. Урок 29. 00:04:49
    Action filters: call a method before and after every action in a controller
  30. Урок 30. 00:02:28
    Organise controllers in subdirectories: add a route namespace option
  31. Урок 31. 00:01:01
    Views: an introduction
  32. Урок 32. 00:02:16
    Display a view: create a class to render views and use it in a controller
  33. Урок 33. 00:04:31
    Output escaping: what it is, why do it, and how and when to do it
  34. Урок 34. 00:01:56
    Pass data from the controller to the view
  35. Урок 35. 00:03:28
    Templating engines: what they are and how they can improve your PHP code
  36. Урок 36. 00:02:23
    Make views easier to create and maintain: add a template engine
  37. Урок 37. 00:02:21
    Remove repetition in the view templates: add a base template to inherit from
  38. Урок 38. 00:03:00
    Install third-party PHP code libraries automatically using Composer
  39. Урок 39. 00:03:35
    Installing and using Composer
  40. Урок 40. 00:02:00
    Install the template engine library using Composer
  41. Урок 41. 00:01:47
    Include all package classes automatically using the Composer autoloader
  42. Урок 42. 00:01:04
    Use the Composer autoloader to load the template engine library
  43. Урок 43. 00:02:52
    Add your own classes to the Composer autoloader
  44. Урок 44. 00:02:58
    Replace the autoload function with the Composer autoloader
  45. Урок 45. 00:01:44
    Models: an introduction
  46. Урок 46. 00:02:59
    Create a database and check you can connect to it from PHP
  47. Урок 47. 00:03:28
    An introduction to PDO: why it makes working with databases in PHP easier
  48. Урок 48. 00:02:17
    Add a model, get data from the database and display it in a view
  49. Урок 49. 00:02:52
    Optimise the database connection: connect only on demand and reuse it
  50. Урок 50. 00:02:16
    Put application configuration settings in a separate file
  51. Урок 51. 00:03:16
    How PHP reports problems: errors, exceptions, and how to handle them
  52. Урок 52. 00:02:54
    Handle errors: convert errors to exceptions and add an exception handler
  53. Урок 53. 00:02:03
    PHP configuration settings: where to find them and how to change them
  54. Урок 54. 00:01:58
    Configure PHP to display error messages
  55. Урок 55. 00:03:12
    Show detailed error messages to developers, friendly error messages to users
  56. Урок 56. 00:03:15
    Categorise different types of error using HTTP status codes
  57. Урок 57. 00:01:57
    Add views to make error pages look nicer in production
  58. Урок 58. 00:03:14
    A brief introduction to some popular frameworks
  59. Урок 59. 00:02:55
    Conclusion