Course Summary
The "Symfony PHP MVC Web Framework Training" course covers the details of installing, configuring, and utilizing this popular PHP5 framework.
Duration
3 days.
Objectives
By taking the Marakana "Symfony PHP MVC Web Framework Training Course" students will:
- Configure and install Symfony
- Gain a solid foundation of the Symfony MVC structure & code base
- Learn best practices of code design and organization
- Learn how to build a new Symfony application from scratch
- Learn how to leverage the action events system (Controller Layer)
- Learn to use Symfony templates & page layouts (View Layer)
- Learn the fundamentals of database abstraction & object relational mapping (Model Layer)
- Learn how to configure the url routing system with custom rules & patterns
- Learn how to leverage Symfony web form widgets, rich text editing, error validation
- Learn how to add AJAX visual effects, remote calls, element updates
- Understand how to improve application performance with caching, benchmarking
- Learn how to use internationalization (I18n) and localization (L10n) techniques
- Understand how to use the admin generator for backend database administration
- Practice test-driven PHP web development with unit and functional testing
- Learn about Symfony's built-in application management tools for logging & debugging
- Learn how to extend Symfony's reach & power with the plug-in system
Upon completion of this Symfony PHP MVC Web Framework Training, you will be able to create powerful database-driven websites faster than ever in a scalable, re-usable, repeatable way.
Audience
The participants taking Marakana "Symfony PHP MVC Web Framework Training" course must be familiar with the general principles of object oriented programming (OOP), relational databases, and PHP to get the most from this training.
Prior exposure to the following concepts and technologies is very helpful, but not required:
- General understanding of web development principles
- Basic knowledge of PHP5
- Basic knowledge of HTML and CSS
- Basic knowledge of JavaScript
- Basic knowledge of web design patterns
- Basic understanding of the HTTP protocol, including concepts like redirection, GET vs POS etc.
- Basic knowledge of SQL
- Familiarity with MySQL (or any other relational database)
Outline
Symfony Introduction
- Symfony's Features
- The Architecture
- the Model-View-Controller pattern
- Built-in Tools
Symfony's Code
- Symfony Code Organization
- Project structure (Applications, Modules, Actions)
- Web File Structure
Installation & Operation
- Installation
- Apache Web Server Configuration
- Setting Up a Virtual Host
- Testing and Troubleshooting
Page Creation
- Create Module Skeleton
- Adding a Page & Action
- Template Variables
- Action Functions
Configuration System
- Configuration Overview
- YAML Syntax
- Project, Application, Module Configuration
- Development Environments
Controller Layer
- Front Controller
- The Action Class, Functions & Security
- Retrieving information in the Action
- Session Management & Credential system
- Filter's
- Module Configuration
View Layer
- Templating & Page Layout
- Code Reuse (partials)
- View Configuration
- Output Escaping
Model Layer
- Data Abstration Layer & Schema
- Access and manipulate table data
- Raw SQL
- Internationalization (I18n)
- Localization (L10n)
URL Routing System
- Routing Overview & Configuration
- Link Helpers
- Rules & Patterns
Web Forms in Symfony
- HTML Form Helpers
- Form Widgets
- Rich Text Editing
- Form Validation & Error Messages
- Validators
Ajax in Symfony
- Ajax Helpers
- Ajax with Prototype and Scriptaculous
- Ajax Page Updates & Visual Effects
- Advanced Ajax in Symfony
Symfony Caching
- Caching System & Configuration
- Testing & Monitoring Cache
- Benchmarking
Internationalization & Localization
- Default Culture
- Standards and Formats
- Configuring Translation
- Helpers
Admin Generator
- Purpose
- Administration Based on Model
- Admin Generator Fields & Validation
Test Driving Your Symfony App.
- Unit & Functional test
- Integration Tests
- Testing Parameters
Application Management Tools
- Logging & Debugging
- Web Debug Toolbar
- Application Deployment
Extending Symfony
- Event Overview
- Plugin Installation & Creation
Improving Symfony Performance
- Server, Model, Cache tweaks
- Performance best practices
Configuration System
- Custom Configuration's
- System wide configuration review