-
Урок 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