Embark on a comprehensive journey to master PHP Symfony 4 by creating a real-world application. You'll code alongside me, step-by-step, gaining detailed insights into the workings and best practices of the framework. By the course's end, not only will you have developed a fully functional, Twitter-like application, but you'll also deploy it to a production server and set up an automation server for seamless application releases through a single Git commit.
Course Overview
Development Environment
The course recommends using Vagrant with Laravel Homestead for quick setup, complete with setup instructions for Ubuntu, MacOS, and Windows. Alternatively, you can use any suitable environment like XAMPP, MAMP, Docker, or your own system, as long as it has PHP 7+ and MySQL installed.
Initial Setup
The journey begins with introduction and setup lectures, providing an overview of the Symfony project structure.
Core Concepts
We’ll delve into the Service Container, a pivotal framework component. Fear not if it seems complex initially; continuous revisits throughout the course will reinforce your understanding.
Application Backbone
Next, you'll explore Controllers, Routes, and the Twig templating engine. Learn to construct your application’s backbone and render HTML with data using Twig. Additionally, you'll manage assets like CSS and JavaScript by installing Bootstrap with yarn.
Database Management
The course will introduce you to databases and the Doctrine ORM. You'll create PHP objects representing database rows, handle database migrations, and learn to fetch, modify, and delete data efficiently.
Requirements
- Basic understanding of PHP and Object-Oriented Programming
- Mac, Windows, or Ubuntu system
- IDE or any other code editor
Target Audience
- PHP developers new to frameworks
- Developers familiar with other PHP frameworks
- Developers eager to quickly master Symfony with a focused approach
Key Learning Outcomes
- Create a fully operational, real-world website using Symfony
- Gain a profound understanding of the framework
- Master Continuous Deployment and Continuous Integration processes
- Automate deployment via a single commit to release your application globally
- Comprehend database and Doctrine ORM intricacies
- Develop forms, save, edit, and validate data efficiently
- Manage complex database relations
- Implement email functionalities and grasp the Symfony Event system
- Enhance application security and control user access
- Formulate SQL queries in Doctrine, utilize Doctrine Table Inheritance, and Lifecycle callbacks
- Translate your application into multiple languages
- Understand session management
- Conduct application testing with PHPUnit through unit tests
- Setup a remote server by installing Apache, PHP, and MySQL using SSH