SlideShare a Scribd company logo
1 of 39
Download to read offline
symfony introduction
                     MITSUMUNE Tomohiro
                          2010/05/13




2010   5   13
About
                •          Web



                    •
                    • Mojavi + Ruby on Rails
                • PHP5
                •                 DRY KISS XP

2010   5   13
Features
                •   MVC

                •   URL Routing
                •   configuration
                •   ORM
                •   i18n
                •   scaffolding
                •   CLI
                •
2010   5   13
Version
                 1.0   2007                1.0.22


                 1.1     1.2


                 1.2    1.0


                 1.3           1.2



                 1.4



                 2.0
                                     1.X


                http://www.symfony-project.org/installation
2010   5   13
Basics



2010   5   13
MVC Archtecture




2010   5   13
project_root/    apps/     application_root/    config/
                                                                 i18n/
                                                                  lib/
                                                               modules/
                                                               templates/
                                cache/
                                config/
                                 data/
                                  lib/          model/
                                  log/
                                plugins/
                                symfony
                                 test/
                                 web/




2010   5   13
Project Initialize
                •
                    • symfony init-project [project_name]
                •
                    • symfony init-app [app_name]
                •
                    • symfony init-module [app_name]
                      [module_name]

2010   5   13
Project Initialize
                •
                    • 1.0   1.4

                • 1.0
                 • symfony init-module app_name module
                • 1.4
                 • symfony generate:module app_name
                      module
2010   5   13
module directory
                modules/    sample/     actions/

                                        config/

                                          lib/

                                       templates/

                                        validate/

                           hogehoge/       ...


2010   5   13
Controller



2010   5   13
Actions




2010   5   13
Actions
                • executeXXX
                  • XXX          action

                  •            Routing

                •                View

                  •
                  •
2010   5   13
Routing


                •                 module       action

                • routing.yml
           http://www.yourdomain.com/[module_name]/[action_name]



2010   5   13
Routing




2010   5   13
User Session

                • PHP
                •                                   get/set

       $this->getUser()->setAttribute(‘notice’, ‘Hello,Wolrd!’)
       $this->setFlash(‘salt’, ‘password’)




2010   5   13
Filter

                •

                •


2010   5   13
View



2010   5   13
View
                • XXXSuccess.php
                 • XXX
                •
                    • XXXError.php
                    •                  action



2010   5   13
Helpers

                • function HTML
                 • Helper
                    • link_to, image_tag, form_tag
                 •            Helper



2010   5   13
Forms
                • 1.0 1.1
                • 1.0
                 • Form Helper
                • 1.1
                 • sfForm Class

2010   5   13
Validators
                • validation              2

                  • controller validateXXX
                  •                      yaml

                •       Validation class

                •            Validation class


2010   5   13
Validators




2010   5   13
Page Layout

                • decorator
                 • global layout
                 • action content


2010   5   13
Page Fragment
                •
                •
                •2
                  • controller view        components

                  • view              partial

                • _hogehoge.php
                               Fragment
2010   5   13
Page Fragment

                •
                    • include_partial
                    • include_component


2010   5   13
Model



2010   5   13
ORM
                • Object-Relational Mapping
                 •
                 • SQL
                 •                            OK

                • Propel
                 • 1.2        Doctrine
2010   5   13
schema


                •
                • YAML   (schema.yml)




2010   5   13
schema




2010   5   13
CLI

                • Model
                  • symfony propel-build-model
                •            schema       SQL

                  • symfony propel-build-sql

2010   5   13
DB Access

                •
                    •    = Class

                    •    = Object

                    •    = Property



2010   5   13
DB Access




2010   5   13
Cache



2010   5   13
Caching
                •
                    • controller
                    • view
                    • fragment
                    • configuration
2010   5   13
Caching
                •
                    • file
                    • database
                    • APC
                    • memcached

2010   5   13
Plugins



2010   5   13
Plugins

                •
                •
                •
                    • http://www.symfony-project.org/plugins/
                    •
2010   5   13
Plugins
                • install
                 • symfony plugin-install plugin_name
                • list
                 • symfony plugin-list
                • uninstall
                 • symfony plugin-uninstall symfony/
                    plugin_name

2010   5   13

More Related Content

Similar to symfonyイントロダクション

symfony_from_scratch
symfony_from_scratchsymfony_from_scratch
symfony_from_scratchtutorialsruby
 
symfony_from_scratch
symfony_from_scratchsymfony_from_scratch
symfony_from_scratchtutorialsruby
 
Mozilla: Mozmill meets L10n
Mozilla: Mozmill meets L10nMozilla: Mozmill meets L10n
Mozilla: Mozmill meets L10nHenrik Skupin
 
A 20 minute introduction to AngularJS for XPage developers
A 20 minute introduction to AngularJS for XPage developersA 20 minute introduction to AngularJS for XPage developers
A 20 minute introduction to AngularJS for XPage developersMark Leusink
 
Structured web apps
Structured web appsStructured web apps
Structured web appsSheng Tian
 
Beyond Fluffy Bunny. How I leveraged WebObjects in my lean startup.
Beyond Fluffy Bunny. How I leveraged WebObjects in my lean startup.Beyond Fluffy Bunny. How I leveraged WebObjects in my lean startup.
Beyond Fluffy Bunny. How I leveraged WebObjects in my lean startup.WO Community
 
OW2 JOnAS 5.0 Java EE AS- An OSGi Based Integration Platform - François Forna...
OW2 JOnAS 5.0 Java EE AS- An OSGi Based Integration Platform - François Forna...OW2 JOnAS 5.0 Java EE AS- An OSGi Based Integration Platform - François Forna...
OW2 JOnAS 5.0 Java EE AS- An OSGi Based Integration Platform - François Forna...mfrancis
 
Yahoo! scale Node.js
Yahoo! scale Node.jsYahoo! scale Node.js
Yahoo! scale Node.jsFabian Frank
 
10 clues showing that you are doing OSGi in the wrong manner - Jerome Moliere
10 clues showing that you are doing OSGi in the wrong manner - Jerome Moliere10 clues showing that you are doing OSGi in the wrong manner - Jerome Moliere
10 clues showing that you are doing OSGi in the wrong manner - Jerome Molieremfrancis
 
FOF Rapid Application Development on Joomla! - Joomla! Day Denmark 2012
FOF Rapid Application Development on Joomla! - Joomla! Day Denmark 2012FOF Rapid Application Development on Joomla! - Joomla! Day Denmark 2012
FOF Rapid Application Development on Joomla! - Joomla! Day Denmark 2012Nicholas Dionysopoulos
 
Joomladay Es 2009 - Nooku Framework
Joomladay Es 2009  - Nooku FrameworkJoomladay Es 2009  - Nooku Framework
Joomladay Es 2009 - Nooku FrameworkNooku
 
Symfony2 San Francisco Meetup 2009
Symfony2 San Francisco Meetup 2009Symfony2 San Francisco Meetup 2009
Symfony2 San Francisco Meetup 2009Fabien Potencier
 
YUI App Framework
YUI App FrameworkYUI App Framework
YUI App FrameworkelHornair
 
Drupal 8 - What’s cooking?
Drupal 8 - What’s cooking?Drupal 8 - What’s cooking?
Drupal 8 - What’s cooking?Alkuvoima
 
Symfony framework-An overview and usability for web development
Symfony framework-An overview and usability for web developmentSymfony framework-An overview and usability for web development
Symfony framework-An overview and usability for web developmentifour_bhavesh
 
Components Approach to building Web Apps
Components Approach to building Web AppsComponents Approach to building Web Apps
Components Approach to building Web AppsVinci Rufus
 
Codemotion 2013 - Designing complex applications using html5 and knockoutjs
Codemotion 2013 - Designing complex applications using html5 and knockoutjsCodemotion 2013 - Designing complex applications using html5 and knockoutjs
Codemotion 2013 - Designing complex applications using html5 and knockoutjsFabio Franzini
 

Similar to symfonyイントロダクション (20)

symfony_from_scratch
symfony_from_scratchsymfony_from_scratch
symfony_from_scratch
 
symfony_from_scratch
symfony_from_scratchsymfony_from_scratch
symfony_from_scratch
 
Mozilla: Mozmill meets L10n
Mozilla: Mozmill meets L10nMozilla: Mozmill meets L10n
Mozilla: Mozmill meets L10n
 
A 20 minute introduction to AngularJS for XPage developers
A 20 minute introduction to AngularJS for XPage developersA 20 minute introduction to AngularJS for XPage developers
A 20 minute introduction to AngularJS for XPage developers
 
Structured web apps
Structured web appsStructured web apps
Structured web apps
 
Beyond Fluffy Bunny. How I leveraged WebObjects in my lean startup.
Beyond Fluffy Bunny. How I leveraged WebObjects in my lean startup.Beyond Fluffy Bunny. How I leveraged WebObjects in my lean startup.
Beyond Fluffy Bunny. How I leveraged WebObjects in my lean startup.
 
OW2 JOnAS 5.0 Java EE AS- An OSGi Based Integration Platform - François Forna...
OW2 JOnAS 5.0 Java EE AS- An OSGi Based Integration Platform - François Forna...OW2 JOnAS 5.0 Java EE AS- An OSGi Based Integration Platform - François Forna...
OW2 JOnAS 5.0 Java EE AS- An OSGi Based Integration Platform - François Forna...
 
Yahoo! scale Node.js
Yahoo! scale Node.jsYahoo! scale Node.js
Yahoo! scale Node.js
 
10 clues showing that you are doing OSGi in the wrong manner - Jerome Moliere
10 clues showing that you are doing OSGi in the wrong manner - Jerome Moliere10 clues showing that you are doing OSGi in the wrong manner - Jerome Moliere
10 clues showing that you are doing OSGi in the wrong manner - Jerome Moliere
 
FOF Rapid Application Development on Joomla! - Joomla! Day Denmark 2012
FOF Rapid Application Development on Joomla! - Joomla! Day Denmark 2012FOF Rapid Application Development on Joomla! - Joomla! Day Denmark 2012
FOF Rapid Application Development on Joomla! - Joomla! Day Denmark 2012
 
Joomladay Es 2009 - Nooku Framework
Joomladay Es 2009  - Nooku FrameworkJoomladay Es 2009  - Nooku Framework
Joomladay Es 2009 - Nooku Framework
 
Symfony2 San Francisco Meetup 2009
Symfony2 San Francisco Meetup 2009Symfony2 San Francisco Meetup 2009
Symfony2 San Francisco Meetup 2009
 
YUI App Framework
YUI App FrameworkYUI App Framework
YUI App Framework
 
Drupal 8 - What’s cooking?
Drupal 8 - What’s cooking?Drupal 8 - What’s cooking?
Drupal 8 - What’s cooking?
 
Symfony framework-An overview and usability for web development
Symfony framework-An overview and usability for web developmentSymfony framework-An overview and usability for web development
Symfony framework-An overview and usability for web development
 
Components Approach to building Web Apps
Components Approach to building Web AppsComponents Approach to building Web Apps
Components Approach to building Web Apps
 
Drupal 8 - Quick bites
Drupal 8 - Quick  bitesDrupal 8 - Quick  bites
Drupal 8 - Quick bites
 
Codemotion 2013 - Designing complex applications using html5 and knockoutjs
Codemotion 2013 - Designing complex applications using html5 and knockoutjsCodemotion 2013 - Designing complex applications using html5 and knockoutjs
Codemotion 2013 - Designing complex applications using html5 and knockoutjs
 
Joomla
JoomlaJoomla
Joomla
 
Joomla
JoomlaJoomla
Joomla
 

More from Tomohiro MITSUMUNE

B2B2Cなヘルスケアサービスの作り方
B2B2Cなヘルスケアサービスの作り方B2B2Cなヘルスケアサービスの作り方
B2B2Cなヘルスケアサービスの作り方Tomohiro MITSUMUNE
 
macbookについてみんなが誤解していること
macbookについてみんなが誤解していることmacbookについてみんなが誤解していること
macbookについてみんなが誤解していることTomohiro MITSUMUNE
 
15分でわかる分散バージョン管理システムgit
15分でわかる分散バージョン管理システムgit15分でわかる分散バージョン管理システムgit
15分でわかる分散バージョン管理システムgitTomohiro MITSUMUNE
 

More from Tomohiro MITSUMUNE (7)

B2B2Cなヘルスケアサービスの作り方
B2B2Cなヘルスケアサービスの作り方B2B2Cなヘルスケアサービスの作り方
B2B2Cなヘルスケアサービスの作り方
 
はじめてのSymfony2
はじめてのSymfony2はじめてのSymfony2
はじめてのSymfony2
 
About Haystack
About HaystackAbout Haystack
About Haystack
 
macbookについてみんなが誤解していること
macbookについてみんなが誤解していることmacbookについてみんなが誤解していること
macbookについてみんなが誤解していること
 
Linuxにおける開発環境
Linuxにおける開発環境Linuxにおける開発環境
Linuxにおける開発環境
 
15分でわかる分散バージョン管理システムgit
15分でわかる分散バージョン管理システムgit15分でわかる分散バージョン管理システムgit
15分でわかる分散バージョン管理システムgit
 
DOM Scripting ことはじめ
DOM Scripting ことはじめDOM Scripting ことはじめ
DOM Scripting ことはじめ
 

Recently uploaded

Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 

Recently uploaded (20)

Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 

symfonyイントロダクション

  • 1. symfony introduction MITSUMUNE Tomohiro 2010/05/13 2010 5 13
  • 2. About • Web • • Mojavi + Ruby on Rails • PHP5 • DRY KISS XP 2010 5 13
  • 3. Features • MVC • URL Routing • configuration • ORM • i18n • scaffolding • CLI • 2010 5 13
  • 4. Version 1.0 2007 1.0.22 1.1 1.2 1.2 1.0 1.3 1.2 1.4 2.0 1.X http://www.symfony-project.org/installation 2010 5 13
  • 5. Basics 2010 5 13
  • 7. project_root/ apps/ application_root/ config/ i18n/ lib/ modules/ templates/ cache/ config/ data/ lib/ model/ log/ plugins/ symfony test/ web/ 2010 5 13
  • 8. Project Initialize • • symfony init-project [project_name] • • symfony init-app [app_name] • • symfony init-module [app_name] [module_name] 2010 5 13
  • 9. Project Initialize • • 1.0 1.4 • 1.0 • symfony init-module app_name module • 1.4 • symfony generate:module app_name module 2010 5 13
  • 10. module directory modules/ sample/ actions/ config/ lib/ templates/ validate/ hogehoge/ ... 2010 5 13
  • 12. Actions 2010 5 13
  • 13. Actions • executeXXX • XXX action • Routing • View • • 2010 5 13
  • 14. Routing • module action • routing.yml http://www.yourdomain.com/[module_name]/[action_name] 2010 5 13
  • 15. Routing 2010 5 13
  • 16. User Session • PHP • get/set $this->getUser()->setAttribute(‘notice’, ‘Hello,Wolrd!’) $this->setFlash(‘salt’, ‘password’) 2010 5 13
  • 17. Filter • • 2010 5 13
  • 18. View 2010 5 13
  • 19. View • XXXSuccess.php • XXX • • XXXError.php • action 2010 5 13
  • 20. Helpers • function HTML • Helper • link_to, image_tag, form_tag • Helper 2010 5 13
  • 21. Forms • 1.0 1.1 • 1.0 • Form Helper • 1.1 • sfForm Class 2010 5 13
  • 22. Validators • validation 2 • controller validateXXX • yaml • Validation class • Validation class 2010 5 13
  • 24. Page Layout • decorator • global layout • action content 2010 5 13
  • 25. Page Fragment • • •2 • controller view components • view partial • _hogehoge.php Fragment 2010 5 13
  • 26. Page Fragment • • include_partial • include_component 2010 5 13
  • 27. Model 2010 5 13
  • 28. ORM • Object-Relational Mapping • • SQL • OK • Propel • 1.2 Doctrine 2010 5 13
  • 29. schema • • YAML (schema.yml) 2010 5 13
  • 30. schema 2010 5 13
  • 31. CLI • Model • symfony propel-build-model • schema SQL • symfony propel-build-sql 2010 5 13
  • 32. DB Access • • = Class • = Object • = Property 2010 5 13
  • 34. Cache 2010 5 13
  • 35. Caching • • controller • view • fragment • configuration 2010 5 13
  • 36. Caching • • file • database • APC • memcached 2010 5 13
  • 37. Plugins 2010 5 13
  • 38. Plugins • • • • http://www.symfony-project.org/plugins/ • 2010 5 13
  • 39. Plugins • install • symfony plugin-install plugin_name • list • symfony plugin-list • uninstall • symfony plugin-uninstall symfony/ plugin_name 2010 5 13