Урок 1.00:04:04
Welcome to the course
Урок 2.00:02:09
About Symfony
Урок 3.00:02:33
Tools and requirements for students
Урок 4.00:01:48
How to use the course
Урок 5.00:04:05
Course applications overview
Урок 6.00:01:35
Quick note about coding standards
Урок 7.00:04:20
Symfony 4 installation & requirements
Урок 8.00:02:29
Symfony 4 configuration
Урок 9.00:03:07
Installing libraries with Symfony Flex
Урок 10.00:02:56
Request & response objects, HTTP processing workflow
Урок 11.00:04:20
Routes
Урок 12.00:06:57
Controllers
Урок 13.00:05:22
Views
Урок 14.00:12:41
Entities (models)
Урок 15.00:10:55
Service container & services - part 1
Урок 16.00:02:39
Service container & services - part2
Урок 17.00:03:48
Advanced routes
Урок 18.00:03:27
Flash messages
Урок 19.00:01:51
Cookies
Урок 20.00:02:23
Session
Урок 21.00:01:29
POST & GET data
Урок 22.00:02:14
Custom error pages
Урок 23.00:00:48
Handle exceptions
Урок 24.00:01:21
Binding services to controllers
Урок 25.00:05:21
More features in controllers
Урок 26.00:07:24
Views - tags, filters, functions, tests, operators
Урок 27.00:03:36
Views - genereate url's and escaping strings
Урок 28.00:01:53
Views - global variables
Урок 29.00:07:32
Views - Webpack Encore
Урок 30.00:01:30
Views - using app variable
Урок 31.00:03:34
Views - embed controllers in view
Урок 32.00:03:32
Doctrine crud - create
Урок 33.00:02:25
Doctrine crud - read
Урок 34.00:00:59
Doctrine crud - update
Урок 35.00:00:55
Doctrine crud - delete
Урок 36.00:01:05
Doctrine raw queries
Урок 37.00:01:23
Doctrine param converter
Урок 38.00:02:24
Doctrine LifecycleCallbacks option
Урок 39.00:08:52
Doctrine one-to-many & many-to-one relationships
Урок 40.00:09:07
Doctrine database relationships - cascade remove ralated objects
Урок 41.00:04:19
Doctrine one-to-one relationship
Урок 42.00:04:59
Doctrine many-to-many self referencing relationship
Урок 43.00:04:28
Doctrine Query Builder & eager loading
Урок 44.00:04:04
Doctrine table inheritance mapping in Symfony (polymorphic queries) - part 1
Урок 45.00:07:32
Doctrine table inheritance mapping in Symfony (polymorphic queries) - part 2
Урок 46.00:17:25
Doctrine table inheritance mapping in Symfony (polymorphic queries) - part 3
Урок 47.00:03:40
Service parameters
Урок 48.00:02:05
Service & autowiring by constructor injection and service arguments
Урок 49.00:02:36
Service configuration
Урок 50.00:04:27
Services - setter injection for optional dependencies
Урок 51.00:01:48
Services - property injection
Урок 52.00:02:18
Services - lazy services
Урок 53.00:03:10
Service - aliases
Урок 54.00:04:03
Service - tags
Урок 55.00:04:36
Service - dealing with different implementations of a service
Урок 56.00:01:12
Services list
Урок 57.00:04:28
Cache - basic usage
Урок 58.00:05:29
Cache - tags
Урок 59.00:02:04
Symfony console
Урок 60.00:05:28
Use profiler tool in Symfony
Урок 61.00:03:05
Environments vs kernels
Урок 62.00:03:09
Deploy Symfony application
Урок 63.00:02:00
Events & Listeners base concepts
Урок 64.00:02:29
Create listener
Урок 65.00:04:28
Dispatching events
Урок 66.00:01:34
Create subscriber
Урок 67.00:01:27
Subscriber - many events handled by one subscriber
Урок 68.00:02:09
Subscriber - events priorities
Урок 69.00:02:21
Form - create a class
Урок 70.00:05:14
Form - render in view
Урок 71.00:01:52
Form - themes
Урок 72.00:01:30
Form - send
Урок 73.00:02:12
Form - validation
Урок 74.00:03:49
Form - events
Урок 75.00:01:54
Form - fields not related to entity
Урок 76.00:04:36
Form - upload files
Урок 77.00:03:20
Email - install email package & send an email
Урок 78.00:02:22
Email - spooling
Урок 79.00:03:26
Email - functional testing
Урок 80.00:02:29
Security - create user
Урок 81.00:06:57
Security - register
Урок 82.00:03:19
Security - login
Урок 83.00:01:38
Security - logout
Урок 84.00:01:43
Security - login & remember login state
Урок 85.00:00:40
Security - csrf
Урок 86.00:00:19
Security - use security checker
Урок 87.00:06:27
Security - authorization using annotations
Урок 88.00:01:19
Security - authorization using configuration file
Урок 89.00:01:18
Security - authorization using denyAccessUnlessGranted method
Урок 90.00:01:12
Security - authorization in view files
Урок 91.00:02:15
Security - authorization using voters
Урок 92.00:02:17
Unit tests - install
Урок 93.00:01:23
Unit tests - first unit test
Урок 94.00:01:33
Functional tests - install
Урок 95.00:03:34
Functional & unit tests - common assertions
Урок 96.00:02:22
Functional tests - click links
Урок 97.00:02:01
Functional tests - send a form
Урок 98.00:01:23
Functional tests - data providers
Урок 99.00:04:17
Functional tests - tests in isolation
Урок 100.00:05:06
Tests - mock objects
Урок 101.00:01:57
Tests - code coverage report
Урок 102.00:00:48
Translations - install a package
Урок 103.00:03:31
Translations - views
Урок 104.00:01:04
Translations - controllers
Урок 105.00:02:09
Translations - routes
Урок 106.00:03:13
Translations - pluralization
Урок 107.00:10:37
Installation and creating virtual host (To-Do App)
Урок 108.00:13:39
Move html template to Symfony (To-Do App)
Урок 109.00:08:09
Create controller methods (To-Do App)
Урок 110.00:14:11
Make entity in Symfony and use it (To-Do App)
Урок 111.00:05:59
Display list of all tasks on the website (To-Do App)
Урок 112.00:03:12
Switch status of a task (To-Do App)
Урок 113.00:03:19
Delete a task (To-Do App)
Урок 114.00:08:44
Installation of Symfony 4 framework and moving template to it
Урок 115.00:05:55
Continue with moving html template to Symfony
Урок 116.00:09:30
Make template links working in Symfony - part 1
Урок 117.00:12:47
Make template links working in Symfony - part 2
Урок 118.00:17:20
Make template links working in Symfony - part 3
Урок 119.00:07:00
Make template links working in Symfony - part 4
Урок 120.00:05:39
Make template links working in Symfony - part 5
Урок 121.00:07:46
Install Webpack-Encore
Урок 122.00:17:06
Category entity (model)
Урок 123.00:06:54
Continue with Category fixtures - part 1
Урок 124.00:05:13
Continue with Category fixtures - part 2
Урок 125.00:07:02
Display main categories on website
Урок 126.00:04:07
Create custom Twig filter
Урок 127.00:12:11
Category class for front-end
Урок 128.00:04:19
Build php array for nested categories
Урок 129.00:09:19
Create nested categories on front-page
Урок 130.00:17:03
Finish displaying categories on front-page
Урок 131.00:11:58
Display categories in admin area - part 1
Урок 132.00:06:06
Display categories in admin area - part 2
Урок 133.00:05:05
Edit category in admin panel - part 1
Урок 134.00:09:45
Edit category in admin panel - part 2
Урок 135.00:02:22
Edit category in admin panel - part 3
Урок 136.00:07:09
Edit category in admin panel - part 4
Урок 137.00:06:10
Edit category in admin panel - part 5
Урок 138.00:06:22
Unit testing of categories - part 1
Урок 139.00:13:39
Unit testing of categories - part 2
Урок 140.00:02:06
Unit testing of categories - part 3
Урок 141.00:03:46
Unit testing of categories - part 4
Урок 142.00:02:43
Unit testing of categories - part 5
Урок 143.00:05:22
Functional testing of categories - part 1
Урок 144.00:08:08
Functional testing of categories - part 2
Урок 145.00:03:11
Functional testing of categories - part 3
Урок 146.00:01:16
Functional testing of categories - part 4
Урок 147.00:03:45
Create video fixtures
Урок 148.00:03:29
Videos on front-page
Урок 149.00:04:07
Pagination
Урок 150.00:04:55
Display videos from child categories
Урок 151.00:04:15
Sort videos
Урок 152.00:04:49
Search results
Урок 153.00:02:03
Functional testing of videos - part 1
Урок 154.00:01:18
Functional testing of videos - part 2
Урок 155.00:01:11
Functional testing of videos - part 3
Урок 156.00:05:13
Symfony login system - part 1
Урок 157.00:04:03
Symfony login system - part 2
Урок 158.00:03:35
Symfony login system - part 3
Урок 159.00:04:48
Symfony login system - part 4
Урок 160.00:03:09
User roles - part 1
Урок 161.00:01:12
User roles - part 2
Урок 162.00:01:15
User roles - part 3
Урок 163.00:01:03
Display links for users depending on login status - part 1
Урок 164.00:02:45
Display links for users depending on login status - part 2
Урок 165.00:04:08
Securing access to superadmin pages
Урок 166.00:01:24
Check security
Урок 167.00:03:01
User registration - part 1
Урок 168.00:08:00
User registration - part 2
Урок 169.00:05:31
User registration - part 3
Урок 170.00:00:48
Functional testing of categories - part 1
Урок 171.00:02:21
Functional testing of categories - part 2
Урок 172.00:02:35
Functional testing - accessing url's - part 1
Урок 173.00:03:07
Functional testing - accessing url's - part 2
Урок 174.00:06:51
Comments functionality
Урок 175.00:06:06
Comment fixtures
Урок 176.00:03:37
Dynamic value of comments number
Урок 177.00:06:12
Display video details
Урок 178.00:04:06
Display comment details
Урок 179.00:03:24
Create new comment
Урок 180.00:03:04
Functional testing
Урок 181.00:03:41
Functional testing of comments
Урок 182.00:03:40
Video entity
Урок 183.00:03:20
Fixtures for videos
Урок 184.00:02:28
Display likes/dislikes - part 1
Урок 185.00:16:58
Display likes/dislikes - part 2
Урок 186.00:04:43
Display likes/dislikes - part 3
Урок 187.00:02:48
Display likes/dislikes - part 4
Урок 188.00:06:35
Sort by likes - part 1
Урок 189.00:02:50
Sort by likes - part 2
Урок 190.00:03:09
Improve searching
Урок 191.00:02:54
List videos in admin panel
Урок 192.00:01:54
Improve functional testing
Урок 193.00:02:38
Functional testing of likes - part 1
Урок 194.00:00:49
Functional testing of likes - part 2
Урок 195.00:04:04
Functional testing of likes - part 3
Урок 196.00:03:11
Code refactoring - part 1
Урок 197.00:04:21
Code refactoring - part 2
Урок 198.00:05:14
Subscription functionality - part 1
Урок 199.00:05:39
Subscription functionality - part 2
Урок 200.00:06:52
Admin profile
Урок 201.00:09:22
Create video placeholder functionality
Урок 202.00:03:54
Code refactoring
Урок 203.00:04:41
Install Redis
Урок 204.00:03:40
Register with proper subscription plan - part 1
Урок 205.00:03:05
Register with proper subscription plan - part 2
Урок 206.00:03:00
Register with proper subscription plan - part 3
Урок 207.00:05:53
Register with proper subscription plan - part 4
Урок 208.00:02:34
Enable cascade deletion of videos and comments
Урок 209.00:07:09
Functional testing of subscription
Урок 210.00:01:35
Delete admin profile
Урок 211.00:06:30
Update admin profile - part 1
Урок 212.00:06:22
Update admin profile - part 2
Урок 213.00:01:51
Update admin profile - part 3
Урок 214.00:02:49
Update admin profile - part 4
Урок 215.00:03:21
Functional testing of user account
Урок 216.00:02:08
Superadmin profile
Урок 217.00:02:37
Functional test
Урок 218.00:09:02
Upload video - part 1
Урок 219.00:15:07
Upload video - part 2
Урок 220.00:03:11
Upload video - part 3
Урок 221.00:05:28
Delete videos
Урок 222.00:06:27
Categories select list in admin panel
Урок 223.00:02:57
Change video for no members
Урок 224.00:01:01
Remove novalidate attribute from html forms
Урок 225.00:27:53
Upload videos to Vimeo
Урок 226.00:04:20
Set duration for uploaded video
Урок 227.00:03:33
Delete a comment
Урок 228.00:05:57
Create listener in Symfony
Урок 229.00:06:08
Send email on the event of adding a new video
Урок 230.00:01:24
Functional testing
Урок 231.00:04:51
Translations - part 1
Урок 232.00:04:20
Translations - part 2
Урок 233.00:04:45
Cache - part 1
Урок 234.00:03:26
Cache - part 2
Урок 235.00:01:31
Cache - part 3
Урок 236.00:06:00
Cache - part 4
Урок 237.00:02:08
Cache - part 5
Урок 238.00:05:25
Heroku deployment - part 1
Урок 239.00:07:30
Heroku deployment - part 2
Урок 240.00:04:13
PayPal integration - part 1
Урок 241.00:07:49
PayPal integration - part 2
Урок 242.00:02:39
Introduction
Урок 243.00:03:27
Install Symfony 5 and EasyAdmin bundle
Урок 244.00:06:27
Install API Platform. Create entities using Schema Generator component of API Pl
Урок 245.00:06:16
Customize EasyAdmin bundle
Урок 246.00:08:21
Upload images through EasyAdmin
Урок 247.00:08:01
Create related entities to manage through EasyAdmin
Урок 248.00:05:55
Authentication and authorization to EasyAdmin app
Урок 249.00:10:47
Create client JavaScript app to consume restAPI Platform app. GET API endpoint
Урок 250.00:09:12
Create pagination
Урок 251.00:01:10
Create a simple router
Урок 252.00:08:41
Sort api query result using API Platform order filter
Урок 253.00:05:50
Use exists filter of API Platform
Урок 254.00:03:35
Use search filter of API Platform
Урок 255.00:07:19
API Platform serialization groups (normalization and denormalization)
Урок 256.00:05:57
Test structured json-ld data with Google tools
Урок 257.00:07:49
The second javascript app to consume api. GET api request, disable pagination
Урок 258.00:07:01
Add an offer. POST rest api request
Урок 259.00:07:35
Delete an offer. DELETE rest api request
Урок 260.00:08:52
Install & configure JWT authentication package
Урок 261.00:05:52
Register a new user
Урок 262.00:06:55
Login to application
Урок 263.00:03:14
Create offers database relation for users, authorization
Урок 264.00:09:36
Using API Platform event subscriber
Урок 265.00:05:05
API Platform subresources (nested endpoints)
Урок 266.00:05:19
Create listener class to produce additional data to the JWT response - user id
Урок 267.00:08:41
Refactoring: make easier authorization. Use JavaScript Promises
Урок 268.00:03:43
Handle 401 error status code when invalid JWT token
Урок 269.00:05:22
Login automatically when invalid token
Урок 270.00:03:10
Lost password functionality - part 1
Урок 271.00:05:10
Lost password functionality - part 2
Урок 272.00:06:51
Lost password functionality - part 3
Урок 273.00:06:50
Lost password functionality - part 4
Урок 274.00:03:50
Lost password functionality - part 5
Урок 275.00:02:06
Lost password functionality - part 6
Урок 276.00:09:50
Lost password functionality - part 7
Урок 277.00:04:58
Upload a file through REST API - part 1
Урок 278.00:07:15
Upload a file through REST API - part 2
Урок 279.00:03:33
Upload a file through REST API - part 3
Урок 280.00:04:07
Validation and errors handling
Урок 281.00:04:02
Testing API with PhpUnit
Урок 282.00:02:00
Fix GetOffers authorization
Урок 283.00:03:57
API Platform Cache
Урок 284.00:10:14
Deploy API Platform app to Heroku
Урок 285.00:01:47
Fix "can not be converted to string" error
Урок 286.00:01:05
Final thoughts
Урок 287.00:04:40
Symfony Messenger Component - introduction
Урок 288.00:11:06
RabbitMQ basics
Урок 289.00:02:45
CQRS - introduction
Урок 290.00:05:21
Time for practice: simulate e-commerce system using Messages
Урок 291.00:01:29
Install first Symfony app
Урок 292.00:07:27
Create a controller for e-shop website
Урок 293.00:10:10
Install Symfony Messenger Component & use it
Урок 294.00:05:37
Dispatch CreadeOrder message
Урок 295.00:04:37
Dispatch SignUpSms message
Урок 296.00:08:47
Route messages to Doctrine transport
Урок 297.00:02:36
Install RabbitMQ
Урок 298.00:13:45
Create Symfony microservice and send messages to it
Урок 299.00:04:17
Create another Symfony microservice and send messages to it
Урок 300.00:14:04
Create two another Symfony microservices and send messages to them
Урок 301.00:03:52
Where to go from here