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

This course is designed for developers who have some web development experience in PHP and wish to build complex web applications faster, more securely, with long term stability and scalability in mind.

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