Видео курса

  • Урок 1. 00:05:50
    Introduction
  • Урок 2. 00:02:35
    About Symfony
  • Урок 3. 00:02:11
    Tools overview
  • Урок 4. 00:06:10
    Setting up Vagrant on Windows
  • Урок 5. 00:03:22
    Setting up Vagrant on Ubuntu
  • Урок 6. 00:04:09
    Setting up Vagrant on MacOS
  • Урок 7. 00:05:05
    Running Vagrant and creating a new Symfony 4 project
  • Урок 8. 00:06:23
    Symfony project structure overview
  • Урок 9. 00:06:11
    About Service Container
  • Урок 10. 00:04:20
    Autowiring, Autoconfiguring services
  • Урок 11. 00:05:15
    Public, private services, service aliases
  • Урок 12. 00:04:55
    Service tags
  • Урок 13. 00:06:02
    Manual service wiring, parameter binding
  • Урок 14. 00:12:34
    About controllers
  • Урок 15. 00:08:54
    About routing
  • Урок 16. 00:10:40
    Introduction to views (Twig)
  • Урок 17. 00:07:53
    Twig filters & custom Twig extensions
  • Урок 18. 00:06:00
    Custom error pages using Twig
  • Урок 19. 00:05:16
    Global variables in Twig
  • Урок 20. 00:08:15
    Handling assets (JavaScript, CSS) using Symfony Encore (and Webpack)
  • Урок 21. 00:08:36
    Installing Bootstrap 4 and compiling assets using Encore (Webpack)
  • Урок 22. 00:11:52
    Doctrine introduction
  • Урок 23. 00:07:34
    Creating first Entity
  • Урок 24. 00:07:58
    Creating a database migration
  • Урок 25. 00:10:32
    Basics of doctrine repository
  • Урок 26. 00:06:25
    Creating fixtures (database seeding)
  • Урок 27. 00:10:46
    Creating a form and handling form submission
  • Урок 28. 00:10:43
    Repository find methods and Twig include
  • Урок 29. 00:09:10
    Repository findBy, form validation, handling Entity changes
  • Урок 30. 00:05:47
    Deleting an Entity and flash messages
  • Урок 31. 00:06:03
    Doctrine internals (Entity, EntityManager, Unit of Work, Identity Map)
  • Урок 32. 00:04:43
    Security concepts
  • Урок 33. 00:09:47
    Security component config and HTTP Basic login
  • Урок 34. 00:08:51
    Creating User entity
  • Урок 35. 00:09:44
    User Entity fixtures
  • Урок 36. 00:09:42
    Login form part 1
  • Урок 37. 00:10:54
    Login form part 2
  • Урок 38. 00:06:28
    Adding validation to User entity
  • Урок 39. 00:08:20
    User registration form
  • Урок 40. 00:11:49
    User registration controller
  • Урок 41. 00:13:25
    Assigning user to MicroPost (ManyToOne & OneToMany)
  • Урок 42. 00:04:39
    Fixtures for relations (using references in fixtures)
  • Урок 43. 00:11:24
    Verifying user permissions in Twig (is_granted)
  • Урок 44. 00:05:20
    Adding randomness to fixtures
  • Урок 45. 00:03:19
    Security Voters introduction
  • Урок 46. 00:11:11
    Restricting access to edit or delete a micro post using SecurityVoter
  • Урок 47. 00:11:48
    Securing controller actions and templates using Security Voter
  • Урок 48. 00:12:07
    Adding an Admin User with all permissions
  • Урок 49. 00:02:28
    Security role hierarchy
  • Урок 50. 00:06:07
    Restricting adding new posts to registered users (many ways of doing that)
  • Урок 51. 00:09:45
    Lazy loading, proxy classes, repository find* methods criteria
  • Урок 52. 00:04:25
    Doctrine Lifecycle Callbacks
  • Урок 53. 00:09:03
    ManyToMany self-referencing relation (following/followers)
  • Урок 54. 00:07:31
    Fetching collections lazily in templates
  • Урок 55. 00:16:59
    Follow/Unfollow functionality (controller, adding Entities to Collections)
  • Урок 56. 00:05:41
    Follow/Unfollow functionality (security, verifying uniqueness)
  • Урок 57. 00:11:54
    Doctrine QueryBuilder - creating queries in OOP manner
  • Урок 58. 00:09:44
    ArrayCollection vs PersistentCollection vs Collection
  • Урок 59. 00:12:44
    Creating custom query to fetch users with more than 5 posts
  • Урок 60. 00:02:48
    More on Doctrine Collections (from the database perspective)
  • Урок 61. 00:00:54
    Section introduction
  • Урок 62. 00:07:31
    ManyToMany relationship for liked posts
  • Урок 63. 00:09:33
    Likes controller
  • Урок 64. 00:18:55
    Implementing like functionality through XHR requests (including JavaScript)
  • Урок 65. 00:00:52
    Notifications introduction
  • Урок 66. 00:10:11
    Doctrine Table Inheritance - base Notification Entity
  • Урок 67. 00:06:41
    NotificationRepository - fetching notifications unseen by user
  • Урок 68. 00:09:41
    Unseen notification badge (Twig + JavaScript)
  • Урок 69. 00:17:45
    Doctrine EventSubscriber - saving a notification as a reaction to other events
  • Урок 70. 00:11:05
    Unseen notification list
  • Урок 71. 00:10:12
    Marking notifications as being read (Doctrine Query Builder UPDATE queries)
  • Урок 72. 00:03:09
    Introduction to EventDispatcher
  • Урок 73. 00:05:31
    Dispatching an event when user registers
  • Урок 74. 00:04:14
    EventSubscriber - listening to user register event
  • Урок 75. 00:09:45
    Sending e-mail after user registers using Swift Mailer
  • Урок 76. 00:05:08
    E-mail spooling
  • Урок 77. 00:05:16
    Creating a Mailer class to handle e-mail sending (and generation using Twig)
  • Урок 78. 00:15:03
    Account confirmation (using secure token, confirmation link on e-mail)
  • Урок 79. 00:04:36
    Installing and configuring translation component
  • Урок 80. 00:07:15
    Using trans Twig filter to translate strings and validation messages translation
  • Урок 81. 00:10:18
    Translation strings with variables (translating confirmation e-mail with links)
  • Урок 82. 00:05:15
    Translation pluralization (different translation depending on variable)
  • Урок 83. 00:03:19
    Introduction to sessions
  • Урок 84. 00:10:01
    Storing user sessions in database
  • Урок 85. 00:09:55
    LocaleSubscriber - keeping user locale (language) in session
  • Урок 86. 00:09:13
    UserPreferences Entity & OneToOne relation with User Entity
  • Урок 87. 00:06:33
    Creating new UserPreferences after user registration (responding to event)
  • Урок 88. 00:06:18
    UserLocaleSubscriber - loading user language from DB and keeping in session
  • Урок 89. 00:01:54
    Introduction to unit testing (using PHPUnit)
  • Урок 90. 00:08:08
    Writing first unit test
  • Урок 91. 00:06:16
    Creating PHPUnit Mocks
  • Урок 92. 00:09:56
    A more complicated case with testing
  • Урок 93. 00:05:43
    Creating a GitHub account and adding an SSH key
  • Урок 94. 00:01:43
    Creating a DigitalOcean droplet
  • Урок 95. 00:01:34
    First login to virtual server and changing the root password
  • Урок 96. 00:04:44
    Creating and adding an SSH key to DigitalOcean (and managing SSH keys)
  • Урок 97. 00:04:43
    Installing Apache2 on virtual server
  • Урок 98. 00:02:19
    Installing PHP 7.2 on virtual server
  • Урок 99. 00:02:57
    Installing MySQL on virtual server and creating a database
  • Урок 100. 00:08:16
    Configuring Apache Virtual Host and using fake SMTP testing server
  • Урок 101. 00:06:08
    Moving application code to production server using Git & dependencies
  • Урок 102. 00:07:34
    Running migrations on server and folder permissions
  • Урок 103. 00:03:02
    Introduction to Continuous Integration & Continuous Deployment
  • Урок 104. 00:10:18
    Setting up CircleCI (automation server)
  • Урок 105. 00:03:58
    Running our first automation job (running tests)
  • Урок 106. 00:01:13
    Adding deployment SSH key to CricleCI
  • Урок 107. 00:12:28
    Deployment job and deployment scripts
  • Урок 108. 00:05:19
    Running the deployment job

Материалы курса

К этому курсу прилагаются дополнительные материалы. Здесь вы можете скачать их.

Материалы к курсу