際際滷

際際滷Share a Scribd company logo
Symfony workshop
                             Stefan Koopmanschap




zondag 10 oktober 2010
Welcome



zondag 10 oktober 2010
Today

                     Frameworks
                     The symfony framework
                     Developing with symfony
                     Our project for today

zondag 10 oktober 2010
Introduction
                     Stefan Koopmanschap
                     Software Engineer
                     Consultant
                     Trainer
                     Community Manager
                     PHPBenelux secretary
zondag 10 oktober 2010
Frameworks



zondag 10 oktober 2010
Application




zondag 10 oktober 2010
Application
                         Framework




zondag 10 oktober 2010
Application             Application   Application
                          Framework




zondag 10 oktober 2010
symfony



zondag 10 oktober 2010
symfony

                     full stack
                     highly con鍖gurable
                     minimizes boring tasks
                     maximizes focus on important stuff

zondag 10 oktober 2010
symfony


                     MVC
                     ORM


zondag 10 oktober 2010
Today: symfony 1.4



zondag 10 oktober 2010
Developing with symfony


                     symfony
                     PHP and a webserver (and a database)
                     command line
                     IDE

zondag 10 oktober 2010
Our project for today

                     Users
                     Friends
                     Updates
                     API

zondag 10 oktober 2010
Gesichtbuch



zondag 10 oktober 2010
zondag 10 oktober 2010
Structure



zondag 10 oktober 2010
Project
                           Application
                            Module

                            Module


                           Application
                            Module

                            Module



                          Plugin




zondag 10 oktober 2010
Plugins



zondag 10 oktober 2010
Plugins

                     reusable sets of functionality
                      modules
                      libraries
                      anything that can be re-used

zondag 10 oktober 2010
Plugins

                     On the symfony site:
                      1142 plugins
                      475 contributes
                     Github
                     Individual websites

zondag 10 oktober 2010
sfDoctrineGuardPlugin

                     Authentication
                     Authorization
                     User management


zondag 10 oktober 2010
zondag 10 oktober 2010
The database



zondag 10 oktober 2010
Database

                     ORMs
                      Propel
                      Doctrine
                      Custom

zondag 10 oktober 2010
ORMs vs Models



zondag 10 oktober 2010
zondag 10 oktober 2010
Modules



zondag 10 oktober 2010
Modules

                     Heart of your application
                      handle page-speci鍖c logic
                      contain page-speci鍖c display logic
                      call the model

zondag 10 oktober 2010
Modules

                     Different types
                      blank modules
                      CRUD modules
                      admin generator

zondag 10 oktober 2010
zondag 10 oktober 2010
Forms



zondag 10 oktober 2010
Forms

                     Extensive integrated form framework
                      Form generation
                      Form validation
                      Form processing

zondag 10 oktober 2010
zondag 10 oktober 2010
Models



zondag 10 oktober 2010
Controller


                         Model                View




zondag 10 oktober 2010
Models

                     Business logic
                      calculations
                      database transactions


zondag 10 oktober 2010
zondag 10 oktober 2010
The mailer



zondag 10 oktober 2010
The mailer

                     mail()
                     opening sockets
                     swiftMailer


zondag 10 oktober 2010
zondag 10 oktober 2010
Caching



zondag 10 oktober 2010
Caching

                     Improve performance
                     Dont repeat slow data fetching
                     Caching does not 鍖x the problem!


zondag 10 oktober 2010
Caching in symfony


                     Con鍖guration mostly
                     Coding is possible


zondag 10 oktober 2010
zondag 10 oktober 2010
Routing



zondag 10 oktober 2010
Routing

                     gesichtbuch.de/users/id/1
                     gesichtbuch.de/users/stefan
                     gesichtbuch.de/stefan


zondag 10 oktober 2010
zondag 10 oktober 2010
A simple API



zondag 10 oktober 2010
API

                     Format speci鍖cation
                     Actions is the same
                     Different output templates


zondag 10 oktober 2010
zondag 10 oktober 2010
Play more...



zondag 10 oktober 2010
Ad

Recommended

Git Workshop (Pfz Workshopdag)
Git Workshop (Pfz Workshopdag)
Stefan Koopmanschap
Git workshop (2value, 14-12-2010)
Git workshop (2value, 14-12-2010)
Stefan Koopmanschap
Git For Subversion Users (PHPNW11)
Git For Subversion Users (PHPNW11)
Stefan Koopmanschap
Node.js: waarom en hoe
Node.js: waarom en hoe
Frank Louwers
IPv6 voor webbouwers
IPv6 voor webbouwers
Frank Louwers
Git for Subversion Users (phpDay 2011)
Git for Subversion Users (phpDay 2011)
Stefan Koopmanschap
Would you like docs with that? (IPC 2010)
Would you like docs with that? (IPC 2010)
Stefan Koopmanschap
Myphp-busters: symfony framework (PHPCon.it)
Myphp-busters: symfony framework (PHPCon.it)
Stefan Koopmanschap
A Practical Look At Symfony2
A Practical Look At Symfony2
Stefan Koopmanschap
Git for Subversion Users (ZendCon 2011)
Git for Subversion Users (ZendCon 2011)
Stefan Koopmanschap
A Practical Look at Symfony2 (PHPNW11)
A Practical Look at Symfony2 (PHPNW11)
Stefan Koopmanschap
Conference Speaking 101
Conference Speaking 101
Stefan Koopmanschap
Open Up (International PHP Conference Spring Edition 2011)
Open Up (International PHP Conference Spring Edition 2011)
Stefan Koopmanschap
Would you like docs with that? - Zend Webinar
Would you like docs with that? - Zend Webinar
Stefan Koopmanschap
Would you like docs with that? (IPC 2010)
Would you like docs with that? (IPC 2010)
Stefan Koopmanschap
Integrating symfony and Zend Framework (IPC 2010)
Integrating symfony and Zend Framework (IPC 2010)
Stefan Koopmanschap
Would you like docs with that? (Pfcongres 2010)
Would you like docs with that? (Pfcongres 2010)
Stefan Koopmanschap
The Symfony Community - How to (get) help
The Symfony Community - How to (get) help
Stefan Koopmanschap
Integrating symfony and Zend Framework (PHPBarcelona 2009)
Integrating symfony and Zend Framework (PHPBarcelona 2009)
Stefan Koopmanschap
Integrating symfony and Zend Framework (PHPNW09)
Integrating symfony and Zend Framework (PHPNW09)
Stefan Koopmanschap
Integrating symfony and Zend Framework
Integrating symfony and Zend Framework
Stefan Koopmanschap
Scrum (dutch)
Scrum (dutch)
Stefan Koopmanschap
5 essential tools for the PHP Developer on Windows
5 essential tools for the PHP Developer on Windows
Stefan Koopmanschap
The Power Of Refactoring (php|tek 09)
The Power Of Refactoring (php|tek 09)
Stefan Koopmanschap
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
Stefan Koopmanschap
The Power Of Refactoring (PHPCon Italia)
The Power Of Refactoring (PHPCon Italia)
Stefan Koopmanschap
The Power Of Refactoring (4developers Krakow)
The Power Of Refactoring (4developers Krakow)
Stefan Koopmanschap
Myphp-busters: symfony framework
Myphp-busters: symfony framework
Stefan Koopmanschap

More Related Content

More from Stefan Koopmanschap (20)

A Practical Look At Symfony2
A Practical Look At Symfony2
Stefan Koopmanschap
Git for Subversion Users (ZendCon 2011)
Git for Subversion Users (ZendCon 2011)
Stefan Koopmanschap
A Practical Look at Symfony2 (PHPNW11)
A Practical Look at Symfony2 (PHPNW11)
Stefan Koopmanschap
Conference Speaking 101
Conference Speaking 101
Stefan Koopmanschap
Open Up (International PHP Conference Spring Edition 2011)
Open Up (International PHP Conference Spring Edition 2011)
Stefan Koopmanschap
Would you like docs with that? - Zend Webinar
Would you like docs with that? - Zend Webinar
Stefan Koopmanschap
Would you like docs with that? (IPC 2010)
Would you like docs with that? (IPC 2010)
Stefan Koopmanschap
Integrating symfony and Zend Framework (IPC 2010)
Integrating symfony and Zend Framework (IPC 2010)
Stefan Koopmanschap
Would you like docs with that? (Pfcongres 2010)
Would you like docs with that? (Pfcongres 2010)
Stefan Koopmanschap
The Symfony Community - How to (get) help
The Symfony Community - How to (get) help
Stefan Koopmanschap
Integrating symfony and Zend Framework (PHPBarcelona 2009)
Integrating symfony and Zend Framework (PHPBarcelona 2009)
Stefan Koopmanschap
Integrating symfony and Zend Framework (PHPNW09)
Integrating symfony and Zend Framework (PHPNW09)
Stefan Koopmanschap
Integrating symfony and Zend Framework
Integrating symfony and Zend Framework
Stefan Koopmanschap
Scrum (dutch)
Scrum (dutch)
Stefan Koopmanschap
5 essential tools for the PHP Developer on Windows
5 essential tools for the PHP Developer on Windows
Stefan Koopmanschap
The Power Of Refactoring (php|tek 09)
The Power Of Refactoring (php|tek 09)
Stefan Koopmanschap
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
Stefan Koopmanschap
The Power Of Refactoring (PHPCon Italia)
The Power Of Refactoring (PHPCon Italia)
Stefan Koopmanschap
The Power Of Refactoring (4developers Krakow)
The Power Of Refactoring (4developers Krakow)
Stefan Koopmanschap
Myphp-busters: symfony framework
Myphp-busters: symfony framework
Stefan Koopmanschap
Git for Subversion Users (ZendCon 2011)
Git for Subversion Users (ZendCon 2011)
Stefan Koopmanschap
A Practical Look at Symfony2 (PHPNW11)
A Practical Look at Symfony2 (PHPNW11)
Stefan Koopmanschap
Open Up (International PHP Conference Spring Edition 2011)
Open Up (International PHP Conference Spring Edition 2011)
Stefan Koopmanschap
Would you like docs with that? - Zend Webinar
Would you like docs with that? - Zend Webinar
Stefan Koopmanschap
Would you like docs with that? (IPC 2010)
Would you like docs with that? (IPC 2010)
Stefan Koopmanschap
Integrating symfony and Zend Framework (IPC 2010)
Integrating symfony and Zend Framework (IPC 2010)
Stefan Koopmanschap
Would you like docs with that? (Pfcongres 2010)
Would you like docs with that? (Pfcongres 2010)
Stefan Koopmanschap
The Symfony Community - How to (get) help
The Symfony Community - How to (get) help
Stefan Koopmanschap
Integrating symfony and Zend Framework (PHPBarcelona 2009)
Integrating symfony and Zend Framework (PHPBarcelona 2009)
Stefan Koopmanschap
Integrating symfony and Zend Framework (PHPNW09)
Integrating symfony and Zend Framework (PHPNW09)
Stefan Koopmanschap
Integrating symfony and Zend Framework
Integrating symfony and Zend Framework
Stefan Koopmanschap
5 essential tools for the PHP Developer on Windows
5 essential tools for the PHP Developer on Windows
Stefan Koopmanschap
The Power Of Refactoring (php|tek 09)
The Power Of Refactoring (php|tek 09)
Stefan Koopmanschap
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
Stefan Koopmanschap
The Power Of Refactoring (PHPCon Italia)
The Power Of Refactoring (PHPCon Italia)
Stefan Koopmanschap
The Power Of Refactoring (4developers Krakow)
The Power Of Refactoring (4developers Krakow)
Stefan Koopmanschap
Myphp-busters: symfony framework
Myphp-busters: symfony framework
Stefan Koopmanschap

symfony 1.4 workshop