1. Урок 1.00:04:04
    Welcome to the course
  2. Урок 2.00:02:09
    About Symfony
  3. Урок 3.00:02:33
    Tools and requirements for students
  4. Урок 4.00:01:48
    How to use the course
  5. Урок 5.00:04:05
    Course applications overview
  6. Урок 6.00:01:35
    Quick note about coding standards
  7. Урок 7.00:04:20
    Symfony 4 installation & requirements
  8. Урок 8.00:02:29
    Symfony 4 configuration
  9. Урок 9.00:03:07
    Installing libraries with Symfony Flex
  10. Урок 10.00:02:56
    Request & response objects, HTTP processing workflow
  11. Урок 11.00:04:20
    Routes
  12. Урок 12.00:06:57
    Controllers
  13. Урок 13.00:05:22
    Views
  14. Урок 14.00:12:41
    Entities (models)
  15. Урок 15.00:10:55
    Service container & services - part 1
  16. Урок 16.00:02:39
    Service container & services - part2
  17. Урок 17.00:03:48
    Advanced routes
  18. Урок 18.00:03:27
    Flash messages
  19. Урок 19.00:01:51
    Cookies
  20. Урок 20.00:02:23
    Session
  21. Урок 21.00:01:29
    POST & GET data
  22. Урок 22.00:02:14
    Custom error pages
  23. Урок 23.00:00:48
    Handle exceptions
  24. Урок 24.00:01:21
    Binding services to controllers
  25. Урок 25.00:05:21
    More features in controllers
  26. Урок 26.00:07:24
    Views - tags, filters, functions, tests, operators
  27. Урок 27.00:03:36
    Views - genereate url's and escaping strings
  28. Урок 28.00:01:53
    Views - global variables
  29. Урок 29.00:07:32
    Views - Webpack Encore
  30. Урок 30.00:01:30
    Views - using app variable
  31. Урок 31.00:03:34
    Views - embed controllers in view
  32. Урок 32.00:03:32
    Doctrine crud - create
  33. Урок 33.00:02:25
    Doctrine crud - read
  34. Урок 34.00:00:59
    Doctrine crud - update
  35. Урок 35.00:00:55
    Doctrine crud - delete
  36. Урок 36.00:01:05
    Doctrine raw queries
  37. Урок 37.00:01:23
    Doctrine param converter
  38. Урок 38.00:02:24
    Doctrine LifecycleCallbacks option
  39. Урок 39.00:08:52
    Doctrine one-to-many & many-to-one relationships
  40. Урок 40.00:09:07
    Doctrine database relationships - cascade remove ralated objects
  41. Урок 41.00:04:19
    Doctrine one-to-one relationship
  42. Урок 42.00:04:59
    Doctrine many-to-many self referencing relationship
  43. Урок 43.00:04:28
    Doctrine Query Builder & eager loading
  44. Урок 44.00:04:04
    Doctrine table inheritance mapping in Symfony (polymorphic queries) - part 1
  45. Урок 45.00:07:32
    Doctrine table inheritance mapping in Symfony (polymorphic queries) - part 2
  46. Урок 46.00:17:25
    Doctrine table inheritance mapping in Symfony (polymorphic queries) - part 3
  47. Урок 47.00:03:40
    Service parameters
  48. Урок 48.00:02:05
    Service & autowiring by constructor injection and service arguments
  49. Урок 49.00:02:36
    Service configuration
  50. Урок 50.00:04:27
    Services - setter injection for optional dependencies
  51. Урок 51.00:01:48
    Services - property injection
  52. Урок 52.00:02:18
    Services - lazy services
  53. Урок 53.00:03:10
    Service - aliases
  54. Урок 54.00:04:03
    Service - tags
  55. Урок 55.00:04:36
    Service - dealing with different implementations of a service
  56. Урок 56.00:01:12
    Services list
  57. Урок 57.00:04:28
    Cache - basic usage
  58. Урок 58.00:05:29
    Cache - tags
  59. Урок 59.00:02:04
    Symfony console
  60. Урок 60.00:05:28
    Use profiler tool in Symfony
  61. Урок 61.00:03:05
    Environments vs kernels
  62. Урок 62.00:03:09
    Deploy Symfony application
  63. Урок 63.00:02:00
    Events & Listeners base concepts
  64. Урок 64.00:02:29
    Create listener
  65. Урок 65.00:04:28
    Dispatching events
  66. Урок 66.00:01:34
    Create subscriber
  67. Урок 67.00:01:27
    Subscriber - many events handled by one subscriber
  68. Урок 68.00:02:09
    Subscriber - events priorities
  69. Урок 69.00:02:21
    Form - create a class
  70. Урок 70.00:05:14
    Form - render in view
  71. Урок 71.00:01:52
    Form - themes
  72. Урок 72.00:01:30
    Form - send
  73. Урок 73.00:02:12
    Form - validation
  74. Урок 74.00:03:49
    Form - events
  75. Урок 75.00:01:54
    Form - fields not related to entity
  76. Урок 76.00:04:36
    Form - upload files
  77. Урок 77.00:03:20
    Email - install email package & send an email
  78. Урок 78.00:02:22
    Email - spooling
  79. Урок 79.00:03:26
    Email - functional testing
  80. Урок 80.00:02:29
    Security - create user
  81. Урок 81.00:06:57
    Security - register
  82. Урок 82.00:03:19
    Security - login
  83. Урок 83.00:01:38
    Security - logout
  84. Урок 84.00:01:43
    Security - login & remember login state
  85. Урок 85.00:00:40
    Security - csrf
  86. Урок 86.00:00:19
    Security - use security checker
  87. Урок 87.00:06:27
    Security - authorization using annotations
  88. Урок 88.00:01:19
    Security - authorization using configuration file
  89. Урок 89.00:01:18
    Security - authorization using denyAccessUnlessGranted method
  90. Урок 90.00:01:12
    Security - authorization in view files
  91. Урок 91.00:02:15
    Security - authorization using voters
  92. Урок 92.00:02:17
    Unit tests - install
  93. Урок 93.00:01:23
    Unit tests - first unit test
  94. Урок 94.00:01:33
    Functional tests - install
  95. Урок 95.00:03:34
    Functional & unit tests - common assertions
  96. Урок 96.00:02:22
    Functional tests - click links
  97. Урок 97.00:02:01
    Functional tests - send a form
  98. Урок 98.00:01:23
    Functional tests - data providers
  99. Урок 99.00:04:17
    Functional tests - tests in isolation
  100. Урок 100.00:05:06
    Tests - mock objects
  101. Урок 101.00:01:57
    Tests - code coverage report
  102. Урок 102.00:00:48
    Translations - install a package
  103. Урок 103.00:03:31
    Translations - views
  104. Урок 104.00:01:04
    Translations - controllers
  105. Урок 105.00:02:09
    Translations - routes
  106. Урок 106.00:03:13
    Translations - pluralization
  107. Урок 107.00:10:37
    Installation and creating virtual host (To-Do App)
  108. Урок 108.00:13:39
    Move html template to Symfony (To-Do App)
  109. Урок 109.00:08:09
    Create controller methods (To-Do App)
  110. Урок 110.00:14:11
    Make entity in Symfony and use it (To-Do App)
  111. Урок 111.00:05:59
    Display list of all tasks on the website (To-Do App)
  112. Урок 112.00:03:12
    Switch status of a task (To-Do App)
  113. Урок 113.00:03:19
    Delete a task (To-Do App)
  114. Урок 114.00:08:44
    Installation of Symfony 4 framework and moving template to it
  115. Урок 115.00:05:55
    Continue with moving html template to Symfony
  116. Урок 116.00:09:30
    Make template links working in Symfony - part 1
  117. Урок 117.00:12:47
    Make template links working in Symfony - part 2
  118. Урок 118.00:17:20
    Make template links working in Symfony - part 3
  119. Урок 119.00:07:00
    Make template links working in Symfony - part 4
  120. Урок 120.00:05:39
    Make template links working in Symfony - part 5
  121. Урок 121.00:07:46
    Install Webpack-Encore
  122. Урок 122.00:17:06
    Category entity (model)
  123. Урок 123.00:06:54
    Continue with Category fixtures - part 1
  124. Урок 124.00:05:13
    Continue with Category fixtures - part 2
  125. Урок 125.00:07:02
    Display main categories on website
  126. Урок 126.00:04:07
    Create custom Twig filter
  127. Урок 127.00:12:11
    Category class for front-end
  128. Урок 128.00:04:19
    Build php array for nested categories
  129. Урок 129.00:09:19
    Create nested categories on front-page
  130. Урок 130.00:17:03
    Finish displaying categories on front-page
  131. Урок 131.00:11:58
    Display categories in admin area - part 1
  132. Урок 132.00:06:06
    Display categories in admin area - part 2
  133. Урок 133.00:05:05
    Edit category in admin panel - part 1
  134. Урок 134.00:09:45
    Edit category in admin panel - part 2
  135. Урок 135.00:02:22
    Edit category in admin panel - part 3
  136. Урок 136.00:07:09
    Edit category in admin panel - part 4
  137. Урок 137.00:06:10
    Edit category in admin panel - part 5
  138. Урок 138.00:06:22
    Unit testing of categories - part 1
  139. Урок 139.00:13:39
    Unit testing of categories - part 2
  140. Урок 140.00:02:06
    Unit testing of categories - part 3
  141. Урок 141.00:03:46
    Unit testing of categories - part 4
  142. Урок 142.00:02:43
    Unit testing of categories - part 5
  143. Урок 143.00:05:22
    Functional testing of categories - part 1
  144. Урок 144.00:08:08
    Functional testing of categories - part 2
  145. Урок 145.00:03:11
    Functional testing of categories - part 3
  146. Урок 146.00:01:16
    Functional testing of categories - part 4
  147. Урок 147.00:03:45
    Create video fixtures
  148. Урок 148.00:03:29
    Videos on front-page
  149. Урок 149.00:04:07
    Pagination
  150. Урок 150.00:04:55
    Display videos from child categories
  151. Урок 151.00:04:15
    Sort videos
  152. Урок 152.00:04:49
    Search results
  153. Урок 153.00:02:03
    Functional testing of videos - part 1
  154. Урок 154.00:01:18
    Functional testing of videos - part 2
  155. Урок 155.00:01:11
    Functional testing of videos - part 3
  156. Урок 156.00:05:13
    Symfony login system - part 1
  157. Урок 157.00:04:03
    Symfony login system - part 2
  158. Урок 158.00:03:35
    Symfony login system - part 3
  159. Урок 159.00:04:48
    Symfony login system - part 4
  160. Урок 160.00:03:09
    User roles - part 1
  161. Урок 161.00:01:12
    User roles - part 2
  162. Урок 162.00:01:15
    User roles - part 3
  163. Урок 163.00:01:03
    Display links for users depending on login status - part 1
  164. Урок 164.00:02:45
    Display links for users depending on login status - part 2
  165. Урок 165.00:04:08
    Securing access to superadmin pages
  166. Урок 166.00:01:24
    Check security
  167. Урок 167.00:03:01
    User registration - part 1
  168. Урок 168.00:08:00
    User registration - part 2
  169. Урок 169.00:05:31
    User registration - part 3
  170. Урок 170.00:00:48
    Functional testing of categories - part 1
  171. Урок 171.00:02:21
    Functional testing of categories - part 2
  172. Урок 172.00:02:35
    Functional testing - accessing url's - part 1
  173. Урок 173.00:03:07
    Functional testing - accessing url's - part 2
  174. Урок 174.00:06:51
    Comments functionality
  175. Урок 175.00:06:06
    Comment fixtures
  176. Урок 176.00:03:37
    Dynamic value of comments number
  177. Урок 177.00:06:12
    Display video details
  178. Урок 178.00:04:06
    Display comment details
  179. Урок 179.00:03:24
    Create new comment
  180. Урок 180.00:03:04
    Functional testing
  181. Урок 181.00:03:41
    Functional testing of comments
  182. Урок 182.00:03:40
    Video entity
  183. Урок 183.00:03:20
    Fixtures for videos
  184. Урок 184.00:02:28
    Display likes/dislikes - part 1
  185. Урок 185.00:16:58
    Display likes/dislikes - part 2
  186. Урок 186.00:04:43
    Display likes/dislikes - part 3
  187. Урок 187.00:02:48
    Display likes/dislikes - part 4
  188. Урок 188.00:06:35
    Sort by likes - part 1
  189. Урок 189.00:02:50
    Sort by likes - part 2
  190. Урок 190.00:03:09
    Improve searching
  191. Урок 191.00:02:54
    List videos in admin panel
  192. Урок 192.00:01:54
    Improve functional testing
  193. Урок 193.00:02:38
    Functional testing of likes - part 1
  194. Урок 194.00:00:49
    Functional testing of likes - part 2
  195. Урок 195.00:04:04
    Functional testing of likes - part 3
  196. Урок 196.00:03:11
    Code refactoring - part 1
  197. Урок 197.00:04:21
    Code refactoring - part 2
  198. Урок 198.00:05:14
    Subscription functionality - part 1
  199. Урок 199.00:05:39
    Subscription functionality - part 2
  200. Урок 200.00:06:52
    Admin profile
  201. Урок 201.00:09:22
    Create video placeholder functionality
  202. Урок 202.00:03:54
    Code refactoring
  203. Урок 203.00:04:41
    Install Redis
  204. Урок 204.00:03:40
    Register with proper subscription plan - part 1
  205. Урок 205.00:03:05
    Register with proper subscription plan - part 2
  206. Урок 206.00:03:00
    Register with proper subscription plan - part 3
  207. Урок 207.00:05:53
    Register with proper subscription plan - part 4
  208. Урок 208.00:02:34
    Enable cascade deletion of videos and comments
  209. Урок 209.00:07:09
    Functional testing of subscription
  210. Урок 210.00:01:35
    Delete admin profile
  211. Урок 211.00:06:30
    Update admin profile - part 1
  212. Урок 212.00:06:22
    Update admin profile - part 2
  213. Урок 213.00:01:51
    Update admin profile - part 3
  214. Урок 214.00:02:49
    Update admin profile - part 4
  215. Урок 215.00:03:21
    Functional testing of user account
  216. Урок 216.00:02:08
    Superadmin profile
  217. Урок 217.00:02:37
    Functional test
  218. Урок 218.00:09:02
    Upload video - part 1
  219. Урок 219.00:15:07
    Upload video - part 2
  220. Урок 220.00:03:11
    Upload video - part 3
  221. Урок 221.00:05:28
    Delete videos
  222. Урок 222.00:06:27
    Categories select list in admin panel
  223. Урок 223.00:02:57
    Change video for no members
  224. Урок 224.00:01:01
    Remove novalidate attribute from html forms
  225. Урок 225.00:27:53
    Upload videos to Vimeo
  226. Урок 226.00:04:20
    Set duration for uploaded video
  227. Урок 227.00:03:33
    Delete a comment
  228. Урок 228.00:05:57
    Create listener in Symfony
  229. Урок 229.00:06:08
    Send email on the event of adding a new video
  230. Урок 230.00:01:24
    Functional testing
  231. Урок 231.00:04:51
    Translations - part 1
  232. Урок 232.00:04:20
    Translations - part 2
  233. Урок 233.00:04:45
    Cache - part 1
  234. Урок 234.00:03:26
    Cache - part 2
  235. Урок 235.00:01:31
    Cache - part 3
  236. Урок 236.00:06:00
    Cache - part 4
  237. Урок 237.00:02:08
    Cache - part 5
  238. Урок 238.00:05:25
    Heroku deployment - part 1
  239. Урок 239.00:07:30
    Heroku deployment - part 2
  240. Урок 240.00:04:13
    PayPal integration - part 1
  241. Урок 241.00:07:49
    PayPal integration - part 2
  242. Урок 242.00:02:39
    Introduction
  243. Урок 243.00:03:27
    Install Symfony 5 and EasyAdmin bundle
  244. Урок 244.00:06:27
    Install API Platform. Create entities using Schema Generator component of API Pl
  245. Урок 245.00:06:16
    Customize EasyAdmin bundle
  246. Урок 246.00:08:21
    Upload images through EasyAdmin
  247. Урок 247.00:08:01
    Create related entities to manage through EasyAdmin
  248. Урок 248.00:05:55
    Authentication and authorization to EasyAdmin app
  249. Урок 249.00:10:47
    Create client JavaScript app to consume restAPI Platform app. GET API endpoint
  250. Урок 250.00:09:12
    Create pagination
  251. Урок 251.00:01:10
    Create a simple router
  252. Урок 252.00:08:41
    Sort api query result using API Platform order filter
  253. Урок 253.00:05:50
    Use exists filter of API Platform
  254. Урок 254.00:03:35
    Use search filter of API Platform
  255. Урок 255.00:07:19
    API Platform serialization groups (normalization and denormalization)
  256. Урок 256.00:05:57
    Test structured json-ld data with Google tools
  257. Урок 257.00:07:49
    The second javascript app to consume api. GET api request, disable pagination
  258. Урок 258.00:07:01
    Add an offer. POST rest api request
  259. Урок 259.00:07:35
    Delete an offer. DELETE rest api request
  260. Урок 260.00:08:52
    Install & configure JWT authentication package
  261. Урок 261.00:05:52
    Register a new user
  262. Урок 262.00:06:55
    Login to application
  263. Урок 263.00:03:14
    Create offers database relation for users, authorization
  264. Урок 264.00:09:36
    Using API Platform event subscriber
  265. Урок 265.00:05:05
    API Platform subresources (nested endpoints)
  266. Урок 266.00:05:19
    Create listener class to produce additional data to the JWT response - user id
  267. Урок 267.00:08:41
    Refactoring: make easier authorization. Use JavaScript Promises
  268. Урок 268.00:03:43
    Handle 401 error status code when invalid JWT token
  269. Урок 269.00:05:22
    Login automatically when invalid token
  270. Урок 270.00:03:10
    Lost password functionality - part 1
  271. Урок 271.00:05:10
    Lost password functionality - part 2
  272. Урок 272.00:06:51
    Lost password functionality - part 3
  273. Урок 273.00:06:50
    Lost password functionality - part 4
  274. Урок 274.00:03:50
    Lost password functionality - part 5
  275. Урок 275.00:02:06
    Lost password functionality - part 6
  276. Урок 276.00:09:50
    Lost password functionality - part 7
  277. Урок 277.00:04:58
    Upload a file through REST API - part 1
  278. Урок 278.00:07:15
    Upload a file through REST API - part 2
  279. Урок 279.00:03:33
    Upload a file through REST API - part 3
  280. Урок 280.00:04:07
    Validation and errors handling
  281. Урок 281.00:04:02
    Testing API with PhpUnit
  282. Урок 282.00:02:00
    Fix GetOffers authorization
  283. Урок 283.00:03:57
    API Platform Cache
  284. Урок 284.00:10:14
    Deploy API Platform app to Heroku
  285. Урок 285.00:01:47
    Fix "can not be converted to string" error
  286. Урок 286.00:01:05
    Final thoughts
  287. Урок 287.00:04:40
    Symfony Messenger Component - introduction
  288. Урок 288.00:11:06
    RabbitMQ basics
  289. Урок 289.00:02:45
    CQRS - introduction
  290. Урок 290.00:05:21
    Time for practice: simulate e-commerce system using Messages
  291. Урок 291.00:01:29
    Install first Symfony app
  292. Урок 292.00:07:27
    Create a controller for e-shop website
  293. Урок 293.00:10:10
    Install Symfony Messenger Component & use it
  294. Урок 294.00:05:37
    Dispatch CreadeOrder message
  295. Урок 295.00:04:37
    Dispatch SignUpSms message
  296. Урок 296.00:08:47
    Route messages to Doctrine transport
  297. Урок 297.00:02:36
    Install RabbitMQ
  298. Урок 298.00:13:45
    Create Symfony microservice and send messages to it
  299. Урок 299.00:04:17
    Create another Symfony microservice and send messages to it
  300. Урок 300.00:14:04
    Create two another Symfony microservices and send messages to them
  301. Урок 301.00:03:52
    Where to go from here