- What is a service?
- The SOLID principle and reminders
- History and description of the container
- Debugging the container with the command line
- Using Dependency Injection
- Inject parameters
- What is private, public, lazy, tagged service?
- Using autowiring
- The special case of controllers
- What is autoconfiguration?
Going further with Symfony
Practical information
- Location: Online / Onsite training
- Duration: 2 days
Need more information?
Goals
Your Symfony level is good but you wonder how to get your team to produce a cleaner, more solid and more scalable code? Our trainers can help you improve your productivity by introducing you to more advanced tools and concepts such as dependency injection, cache, security, and tests.
Program
Manipulating services with Symfony
Symfony and the security
- Manage and authenticate a user
- Securing all or part of its application
- Roles and hierarchies
- Role voters and customized voters
- Apply a voting strategy
Symfony and performances
- PHP and performance
- Configure your application
- The application cache
- HTTP caching and IDEs
- Reverse proxy
- Cache invalidation
- Mobile issues, eco-design, performance & under/over fetching
Sending Data
- Receive data in POST
- Validate data manually
- Using a validator
- Create a validator
- Combining validators
- Use different validators depending on the context
- Validation through a form
- Create a simple form
- Create a reusable form
- Create nested forms
- Master the transformation of data from PHP to HTML and HTML to PHP
Good practice
- Configuration Formats
- Kernel, index.php and bootstrap.php configuration
- MVP, Coding Styles, static analysis tools
- SOLID, Demeter’s Law, KISS and other acronyms
- Test your code
- Save time with MakerBundle
Initiation to Doctrine ORM
- Doctrine ORM
- The Data Mapper pattern
- The Unit of Work pattern
- Doctrine lingo
- Configuring database access
- Creating the database
- Mapping an entity
- Creating an entity using the generator
- Creating the tables
- Persisting the entities
- Retrieving entities
- More repository methods
- Using a custom repository
- Performing custom requests
- Use example
Unit testing
- The right tooling
- Test a class with phpunit and prophecy
Integration testing
- The right tooling
- Test a behaviour with Behat
E2E testing
- The right tooling
- Test your application from end to end with Panther
“Tips and tricks”
Our trainers
Discover our team !
Kévin DUNGLAS
CEO
Kévin is the founder of Les-Tilleuls.coop. He’s a member of Symfony’s core-team and the creator of the API Platform framework. He’s a contributor to over a hundred Open Source projects, and is also a conference speaker, an article and technical book writer as well as a lecturer at Lille University.
Antoine BLUCHET
Principal developer
Full-Stack expert, Antoine has been contributing to Open Source software for almost 10 years. Author and maintainer of JavaScript modules, he also contributes to Symfony or API Platform. He also masters Node.js and many JavaScript frameworks (Nest, Angular, React). As an architect, implementing and supporting teams on these technologies are his daily job. He is also a trainer, blogger and speaker.