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

Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
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
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 

Recently uploaded (20)

Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
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
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 

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