SlideShare a Scribd company logo
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
 
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
 
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
 
Rhodes
RhodesRhodes
Rhodes
 

More from Tomohiro MITSUMUNE

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

More from Tomohiro MITSUMUNE (10)

B2B2Cなヘルスケアサービスの作り方
B2B2Cなヘルスケアサービスの作り方B2B2Cなヘルスケアサービスの作り方
B2B2Cなヘルスケアサービスの作り方
 
はじめてのSymfony2
はじめてのSymfony2はじめてのSymfony2
はじめてのSymfony2
 
勉強会のすすめ
勉強会のすすめ勉強会のすすめ
勉強会のすすめ
 
symfonyイントロダクション
symfonyイントロダクションsymfonyイントロダクション
symfonyイントロダクション
 
jQueryチュートリアル
jQueryチュートリアルjQueryチュートリアル
jQueryチュートリアル
 
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

Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomCzechDreamin
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Product School
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutesconfluent
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...Product School
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoTAnalytics
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesThousandEyes
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityScyllaDB
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka DoktorováCzechDreamin
 
UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1DianaGray10
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2DianaGray10
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backElena Simperl
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlPeter Udo Diehl
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaCzechDreamin
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...Product School
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Alison B. Lowndes
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyJohn Staveley
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Product School
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesBhaskar Mitra
 

Recently uploaded (20)

Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through Observability
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
 
UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 

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