SlideShare a Scribd company logo
Server side technologies
Symfony
Web Technologies – Prof. Dr. Ulrik Schroeder – WS 2010/111
The slides are licensed under a
Creative Commons Attribution 3.0 License
Robert Heim, Alexander Friesen, Diego Santos
Web-Project's Problems
Web Technologies2
Web-Project's Problems
Web Technologies3
● Security
● Complexity, i.e.:
● different output formats (HTML5, XML, JSON, RSS feeds, ...)
● Quality Control
● Portability (OS, Databases, ...)
● Maintainability
Facing the Server Side
Web Technologies4
Solution: Frameworks =
Standards, Best Practices, … !
● Templating
● Abstraction (i.e. Security, Database, Sessions, …)
● Codegeneration
● Proven, tested code
● “Plugin” functionality
Symfony
Web Technologies5
● PHP Framework
● Founded by Fabien Potencier (2005)
● Best Practices
● (as seen in Ruby on Rails, Zend, etc.)
● Low hosting requirements (PHP, Apache)
● Totally Free & Open Source
● Rich documentation and big community (10.000+)
Who uses Symfony?
Web Technologies6
Who uses Symfony?
Web Technologies7
MVC Pattern
Web Technologies8
Symfony Approach - Overview
Web Technologies9
● Application Model (MODEL)
● Object Relational Mapper
● Modules
● Templates (VIEW)
● Actions (CONTROLLER)
● Customizing
Application Model
Web Technologies10
● Define the Model
(YAML-Format)
Application Model
Web Technologies11
● Symfony related Glue Code
● Database schema
Generating:
Modules (!= Models)
Web Technologies12
Templates:
Controller:
+ executeIndex(...)
+ executeNew(...)
+ executeShow(...)
+ ...
Modules (!= Models)
Web Technologies13
Templates:
Controller:
+ executeIndex(...)
+ executeNew(...)
+ executeShow(...)
+ ...
Module generation
Web Technologies14
● Model → standard operations:
Create, Read, Update, Delete (CRUD)
● Generate
● Controller: communicating to DB, validation, inject data in templates, ...
● Templates: list of objects, forms, …
● Adjust / customize! (but Don't Repeat Yourself (DRY))
→ Refactor!
Customization
Web Technologies15
● Configuration files
● OOP (extending, overwrite, etc.)
● Hook Points
● Plugins (1000+)
● User Management
● Tagging
● Commenting
● … whole applications ...
What else?
Web Technologies16
● URL Rewriting/Routing
● Fixtures (example data for init-task)
● Backend generation
● Internationalization (i18n), localizing (i10n)
● Convert App to Plugin
● Easy Deployment
● And much more!
→ www.symfony-project.org
Pro's and Con's
Web Technologies17
● Pro's:
● Fast development (generation)
● Standards
● Scaleability
● Many Web-Developers know PHP
● Con's:
● Have to learn the framework
● Plugins not always stable
● PHP (refactoring may be a pain in big projects)
Live Coding
Web Technologies18

More Related Content

PPTX
Introdução ao desenvolvimento da web.pptx
PDF
Curso de css3 unidade 1 - introdução ao css
PDF
TDD com Python (Completo)
PDF
Python Introdução e Orientação a Objetos.pdf
PDF
Curso de Node JS Básico
PDF
Introdução à Programação Web com Angular
PDF
Apostila de Banco de Dados
Introdução ao desenvolvimento da web.pptx
Curso de css3 unidade 1 - introdução ao css
TDD com Python (Completo)
Python Introdução e Orientação a Objetos.pdf
Curso de Node JS Básico
Introdução à Programação Web com Angular
Apostila de Banco de Dados

What's hot (20)

PPT
Why MVC?
PPT
Aula javascript
PDF
Conceitos básicos de usabilidade e acessibilidade
PDF
Aula 02 - Introdução ao PHP
PPTX
01 Introdução à programação web
PPTX
Treinamento de SQL Básico
PDF
Workshop 4: NodeJS. Express Framework & MongoDB.
PPT
Web development | Derin Dolen
PPTX
Web Development In 2018
PDF
03 - Orientação a objetos e classes em C# v1.0
PDF
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
PPTX
Intro to React
PDF
PPTX
React-JS.pptx
PDF
Curso de HTML5 - Aula 01
PPTX
PPTX
Introdução ao Front-end no Desenvolvimento Web
PDF
How To be a Backend developer
PDF
Introdução ao desenvolvimento Web
PDF
Curso de Desenvolvimento Web - Módulo 03 - JavaScript
Why MVC?
Aula javascript
Conceitos básicos de usabilidade e acessibilidade
Aula 02 - Introdução ao PHP
01 Introdução à programação web
Treinamento de SQL Básico
Workshop 4: NodeJS. Express Framework & MongoDB.
Web development | Derin Dolen
Web Development In 2018
03 - Orientação a objetos e classes em C# v1.0
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Intro to React
React-JS.pptx
Curso de HTML5 - Aula 01
Introdução ao Front-end no Desenvolvimento Web
How To be a Backend developer
Introdução ao desenvolvimento Web
Curso de Desenvolvimento Web - Módulo 03 - JavaScript
Ad

Similar to Symfony presentation (20)

DOCX
Symfony framework-An overview and usability for web development
PDF
Which Tools Are The Best For Symfony Projects_.pdf
PDF
Which Tools Are The Best For Symfony Projects_.pdf
PDF
Introducing symfony
PPTX
PDF
symfony_from_scratch
PDF
symfony_from_scratch
PDF
symfony: Open-Source Enterprise Framework
PDF
Symfony for non-techies
PPTX
Content Management Systems and Refactoring - Drupal, WordPress and eZ Publish
PDF
Symfony and eZ Publish
PPTX
Php Web Frameworks
PDF
Tek13 - Creating Mobile Apps with PHP and Symfony
PDF
Implementing a Symfony Based CMS in a Publishing Company
PDF
symfony: Simplify your professional web development with PHP (Symfony PHP Que...
PDF
Symony2 A Next Generation PHP Framework
PDF
Ny symfony meetup may 2015
PDF
symfony: Simplify your professional web development with PHP (IPC Frankfurt 2...
PPTX
Meetup which approach to choose?
PPTX
Building A Platform From Open Source At Yahoo
Symfony framework-An overview and usability for web development
Which Tools Are The Best For Symfony Projects_.pdf
Which Tools Are The Best For Symfony Projects_.pdf
Introducing symfony
symfony_from_scratch
symfony_from_scratch
symfony: Open-Source Enterprise Framework
Symfony for non-techies
Content Management Systems and Refactoring - Drupal, WordPress and eZ Publish
Symfony and eZ Publish
Php Web Frameworks
Tek13 - Creating Mobile Apps with PHP and Symfony
Implementing a Symfony Based CMS in a Publishing Company
symfony: Simplify your professional web development with PHP (Symfony PHP Que...
Symony2 A Next Generation PHP Framework
Ny symfony meetup may 2015
symfony: Simplify your professional web development with PHP (IPC Frankfurt 2...
Meetup which approach to choose?
Building A Platform From Open Source At Yahoo
Ad

Recently uploaded (20)

PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
A Presentation on Artificial Intelligence
PPTX
Machine Learning_overview_presentation.pptx
PDF
cuic standard and advanced reporting.pdf
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Encapsulation theory and applications.pdf
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Approach and Philosophy of On baking technology
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PPTX
Cloud computing and distributed systems.
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
20250228 LYD VKU AI Blended-Learning.pptx
A Presentation on Artificial Intelligence
Machine Learning_overview_presentation.pptx
cuic standard and advanced reporting.pdf
sap open course for s4hana steps from ECC to s4
Encapsulation theory and applications.pdf
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Reach Out and Touch Someone: Haptics and Empathic Computing
Dropbox Q2 2025 Financial Results & Investor Presentation
Approach and Philosophy of On baking technology
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Per capita expenditure prediction using model stacking based on satellite ima...
Review of recent advances in non-invasive hemoglobin estimation
Assigned Numbers - 2025 - Bluetooth® Document
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Cloud computing and distributed systems.
Spectral efficient network and resource selection model in 5G networks
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows

Symfony presentation