SlideShare una empresa de Scribd logo
1 de 18
Descargar para leer sin conexión
PHP Frameworks




Mar 2, 2006      Atlanta PHP User Group   1
Disclaimers
 ●   Novice Perspective

 ●   Not rigorous, not exhaustive

 ●   Subjective assessments

 ●   Only considering Open Source



Mar 2, 2006           Atlanta PHP User Group   2
What is a Framework?
 ●   Library of Processes/Practices?

 ●   Library of Code Modules/Templates/Objects?

 ●   Library of Automation Tools?


 ●   Consultant BS?

 ●   All of the above?
Mar 2, 2006              Atlanta PHP User Group   3
Nothing New Under the Sun
 ●   Standard way of doing things
      –   Repeatability
      –   Scaffolding
      –   Patterns

 ●   Simplify the process

 ●   Automate the tedious bits

Mar 2, 2006               Atlanta PHP User Group   4
Expectations
 ●   Influence of Ruby on Rails
      ●   Highly automated

      ●   Object oriented language

      ●   Database abstraction

      ●   Use of assumptions in development



Mar 2, 2006               Atlanta PHP User Group   5
Expectations
 ●   General Acceptance of MVC Division of Labor
      –   Model – information storage
      –   View – information display
      –   Controller – information manipulation (business
          logic)
                                                      View
                                                        View
                                                          View


                 Request           Controller


                                                      Model
Mar 2, 2006                  Atlanta PHP User Group              6
PHP Frameworks
 ●   Lots to choose from!
      –   Zend                              - CakePHP
      –   eZ Components                     - Symfony
      –   WASP                              - etc. etc. etc.

 ●   Many ports of Java MVC frameworks
      –   Phrame (Struts)
      –   Studs (Struts)
      –   etc. etc. etc.
Mar 2, 2006                 Atlanta PHP User Group             7
Zend PHP Framework
 ●   Announced and hyped
 ●   Many PHP players on board
 ●   Company angle
      –   Zend
      –   www.zend.com
 ●   Framework links
      –   www.zend.com/collaboration
      –   www.zend.com/collaboration/framework_overview

Mar 2, 2006              Atlanta PHP User Group           8
eZ Components
 ●   Object library approach
 ●   Simplified object loading
 ●   No UI components, No Ajax support, No
     automated data model creation (yet)
 ●   Seems geared toward professional coders
 ●   Company angle
      –   eZ Systems
      –   ez.no
      –   ez.no/products/ez_components
Mar 2, 2006              Atlanta PHP User Group   9
WASP
 ●   wasp.sourceforge.net/content
 ●   So-so community support
 ●   Company angle:
      –   Pango Media
      –   www.pangomedia.com




Mar 2, 2006             Atlanta PHP User Group   10
CakePHP
 ●   www.cakephp.org
 ●   Dynamic community
 ●   Company angle:
      –   None?




Mar 2, 2006           Atlanta PHP User Group   11
Symfony
 ●   www.symfony-project.org
 ●   Dynamic community
 ●   Excellent documentation/tutorials
 ●   Data abstraction layer/schema generator
     provided (Propel)
 ●   Company angle:
      –   Sensio
      –   www.sensio.fr

Mar 2, 2006               Atlanta PHP User Group   12
Symfony Demo
 ●   sf_sandbox (for quick start)

 ●   Tutorial notes
      –   Missing folder: …/apps/frontend/modules
      –   SQLite needs to be enabled in PHP 5.1.x
              ●   php.ini settings
              ●   extension=php_pdo.dll
              ●   extension=php_sqlite.dll



Mar 2, 2006                   Atlanta PHP User Group   13
Symfony Integrations
●   Propel
    –   Object Relational Mapping (ORM)


●   Creole
    –   SQL data abstraction layer
Tutorial Steps
 1.           Install symfony and initialize the project
 2.           Initialize the data model
 3.           Create the application scaffolding
 4.           Modify the layout
 5.           Pass data from the application to the
              template
 6.           Add a record relative to another table


Mar 2, 2006                  Atlanta PHP User Group        15
Tutorial Steps
 7.           Form validation
 8.           Change the URL aspect
 9.           Clean up the frontend
 10. Generation of backend
 11. Restrict access to backend
 12. Conclusion



Mar 2, 2006                Atlanta PHP User Group   16
Big project how to...
 ●   Advent calendar of tutorials
      –   www.symfony-project.com/askeet
      –   www.askeet.com




Mar 2, 2006                Atlanta PHP User Group   17
Conclusions
●   Frameworks are about organizing your
    development practices. Can you?
●   Open source frameworks are still rough;
    tutorials need work
●   When you commit to somebody else’s
    framework, you may be at their mercy.
●   Expect trend toward frameworks endorsed by
    major industry players

Más contenido relacionado

Destacado

Edgarallanpoe elcorazondelator
Edgarallanpoe elcorazondelatorEdgarallanpoe elcorazondelator
Edgarallanpoe elcorazondelatorAna Pertrra
 
Kramer_Samuel_PPP
Kramer_Samuel_PPPKramer_Samuel_PPP
Kramer_Samuel_PPPSam Kramer
 
160107 Dakenraad Engels Artikel LR_4 final
160107 Dakenraad Engels Artikel LR_4 final160107 Dakenraad Engels Artikel LR_4 final
160107 Dakenraad Engels Artikel LR_4 finalMarc Koudenburg
 
O TRABALHO DOCENTE DE ASSISTENTES SOCIAIS E ENGENHEIROS NO ENSINO SUPERIOR
O TRABALHO DOCENTE DE ASSISTENTES SOCIAIS E ENGENHEIROS NO ENSINO SUPERIORO TRABALHO DOCENTE DE ASSISTENTES SOCIAIS E ENGENHEIROS NO ENSINO SUPERIOR
O TRABALHO DOCENTE DE ASSISTENTES SOCIAIS E ENGENHEIROS NO ENSINO SUPERIORProfessorPrincipiante
 
Mobile Cross Platform MWC Barcelona 2010 at Vodafone App Planet
Mobile Cross Platform MWC Barcelona 2010 at Vodafone App PlanetMobile Cross Platform MWC Barcelona 2010 at Vodafone App Planet
Mobile Cross Platform MWC Barcelona 2010 at Vodafone App Planetwolframkriesing
 
5 架构分析
5  架构分析5  架构分析
5 架构分析yiditushe
 
Kur'an Putokaz Ljudima I Jasan Dokaz Pravog Puta I Razlikovanje Dobra Od Zla!
Kur'an   Putokaz Ljudima I Jasan Dokaz Pravog Puta I Razlikovanje Dobra Od Zla!Kur'an   Putokaz Ljudima I Jasan Dokaz Pravog Puta I Razlikovanje Dobra Od Zla!
Kur'an Putokaz Ljudima I Jasan Dokaz Pravog Puta I Razlikovanje Dobra Od Zla!guestfadc3d
 
New Study Of Gita Nov 9 Dr Shriniwas J Kashalikar
New Study Of Gita Nov 9  Dr  Shriniwas J  KashalikarNew Study Of Gita Nov 9  Dr  Shriniwas J  Kashalikar
New Study Of Gita Nov 9 Dr Shriniwas J Kashalikarbanothkishan
 
Suomen Kulttuuriperintökasvatuksen seura
Suomen Kulttuuriperintökasvatuksen seuraSuomen Kulttuuriperintökasvatuksen seura
Suomen Kulttuuriperintökasvatuksen seuraKuPeKasvatus
 
Miracles for Kids Final Project
Miracles for Kids Final ProjectMiracles for Kids Final Project
Miracles for Kids Final ProjectKelly McCarthy
 
Hybrid Mobile Application with Ionic Framework
Hybrid Mobile Application with Ionic FrameworkHybrid Mobile Application with Ionic Framework
Hybrid Mobile Application with Ionic FrameworkDragos Ionita
 
My portfolio in assessment
My portfolio in assessmentMy portfolio in assessment
My portfolio in assessmentwenpogi
 
Case Solution for Hutchison Whampoa Ltd.: The Capital Structure Decision
Case Solution for Hutchison Whampoa Ltd.: The Capital Structure DecisionCase Solution for Hutchison Whampoa Ltd.: The Capital Structure Decision
Case Solution for Hutchison Whampoa Ltd.: The Capital Structure Decisioncasesolutions12
 
A Day in the Life of my Photos
A Day in the Life of my PhotosA Day in the Life of my Photos
A Day in the Life of my PhotosRam Parthasarathy
 

Destacado (17)

Edgarallanpoe elcorazondelator
Edgarallanpoe elcorazondelatorEdgarallanpoe elcorazondelator
Edgarallanpoe elcorazondelator
 
Kramer_Samuel_PPP
Kramer_Samuel_PPPKramer_Samuel_PPP
Kramer_Samuel_PPP
 
Risk assessment (Media)
Risk assessment (Media)Risk assessment (Media)
Risk assessment (Media)
 
160107 Dakenraad Engels Artikel LR_4 final
160107 Dakenraad Engels Artikel LR_4 final160107 Dakenraad Engels Artikel LR_4 final
160107 Dakenraad Engels Artikel LR_4 final
 
O TRABALHO DOCENTE DE ASSISTENTES SOCIAIS E ENGENHEIROS NO ENSINO SUPERIOR
O TRABALHO DOCENTE DE ASSISTENTES SOCIAIS E ENGENHEIROS NO ENSINO SUPERIORO TRABALHO DOCENTE DE ASSISTENTES SOCIAIS E ENGENHEIROS NO ENSINO SUPERIOR
O TRABALHO DOCENTE DE ASSISTENTES SOCIAIS E ENGENHEIROS NO ENSINO SUPERIOR
 
Mobile Cross Platform MWC Barcelona 2010 at Vodafone App Planet
Mobile Cross Platform MWC Barcelona 2010 at Vodafone App PlanetMobile Cross Platform MWC Barcelona 2010 at Vodafone App Planet
Mobile Cross Platform MWC Barcelona 2010 at Vodafone App Planet
 
5 架构分析
5  架构分析5  架构分析
5 架构分析
 
Kur'an Putokaz Ljudima I Jasan Dokaz Pravog Puta I Razlikovanje Dobra Od Zla!
Kur'an   Putokaz Ljudima I Jasan Dokaz Pravog Puta I Razlikovanje Dobra Od Zla!Kur'an   Putokaz Ljudima I Jasan Dokaz Pravog Puta I Razlikovanje Dobra Od Zla!
Kur'an Putokaz Ljudima I Jasan Dokaz Pravog Puta I Razlikovanje Dobra Od Zla!
 
New Study Of Gita Nov 9 Dr Shriniwas J Kashalikar
New Study Of Gita Nov 9  Dr  Shriniwas J  KashalikarNew Study Of Gita Nov 9  Dr  Shriniwas J  Kashalikar
New Study Of Gita Nov 9 Dr Shriniwas J Kashalikar
 
Mi tarea
Mi tareaMi tarea
Mi tarea
 
Suomen Kulttuuriperintökasvatuksen seura
Suomen Kulttuuriperintökasvatuksen seuraSuomen Kulttuuriperintökasvatuksen seura
Suomen Kulttuuriperintökasvatuksen seura
 
Miracles for Kids Final Project
Miracles for Kids Final ProjectMiracles for Kids Final Project
Miracles for Kids Final Project
 
Hybrid Mobile Application with Ionic Framework
Hybrid Mobile Application with Ionic FrameworkHybrid Mobile Application with Ionic Framework
Hybrid Mobile Application with Ionic Framework
 
My portfolio in assessment
My portfolio in assessmentMy portfolio in assessment
My portfolio in assessment
 
Case Solution for Hutchison Whampoa Ltd.: The Capital Structure Decision
Case Solution for Hutchison Whampoa Ltd.: The Capital Structure DecisionCase Solution for Hutchison Whampoa Ltd.: The Capital Structure Decision
Case Solution for Hutchison Whampoa Ltd.: The Capital Structure Decision
 
InSTEDD
InSTEDDInSTEDD
InSTEDD
 
A Day in the Life of my Photos
A Day in the Life of my PhotosA Day in the Life of my Photos
A Day in the Life of my Photos
 

Similar a kroberts-php_frameworks

"Building Modern PHP Applications" - Jackson Murtha, South Dakota Code Camp 2012
"Building Modern PHP Applications" - Jackson Murtha, South Dakota Code Camp 2012"Building Modern PHP Applications" - Jackson Murtha, South Dakota Code Camp 2012
"Building Modern PHP Applications" - Jackson Murtha, South Dakota Code Camp 2012Blend Interactive
 
Data Science Salon: A Journey of Deploying a Data Science Engine to Production
Data Science Salon: A Journey of Deploying a Data Science Engine to ProductionData Science Salon: A Journey of Deploying a Data Science Engine to Production
Data Science Salon: A Journey of Deploying a Data Science Engine to ProductionFormulatedby
 
Web development in JavaEE7 with JSF, does it still matter?
Web development in JavaEE7 with JSF, does it still matter?Web development in JavaEE7 with JSF, does it still matter?
Web development in JavaEE7 with JSF, does it still matter?Paris Apostolopoulos
 
PHP - Programming language war, does it matter
PHP - Programming language war, does it matterPHP - Programming language war, does it matter
PHP - Programming language war, does it matterMizno Kruge
 
Implementing a Symfony Based CMS in a Publishing Company
Implementing a Symfony Based CMS in a Publishing CompanyImplementing a Symfony Based CMS in a Publishing Company
Implementing a Symfony Based CMS in a Publishing CompanyMarcos Labad
 
Enabling The Enterprise With Php
Enabling The Enterprise With PhpEnabling The Enterprise With Php
Enabling The Enterprise With Phpphptechtalk
 
java web framework standard.20180412
java web framework standard.20180412java web framework standard.20180412
java web framework standard.20180412FirmansyahIrma1
 
Agile Software Development by Sencha
Agile Software Development by SenchaAgile Software Development by Sencha
Agile Software Development by SenchaLael Rukius
 
Bledar Gjocaj - Java open source
Bledar Gjocaj - Java open sourceBledar Gjocaj - Java open source
Bledar Gjocaj - Java open sourceOpen Labs Albania
 
symfony_from_scratch
symfony_from_scratchsymfony_from_scratch
symfony_from_scratchtutorialsruby
 
symfony_from_scratch
symfony_from_scratchsymfony_from_scratch
symfony_from_scratchtutorialsruby
 
Kick starting Network Automation
Kick starting Network AutomationKick starting Network Automation
Kick starting Network AutomationWalid Shaari
 
Top 7 php frameworks for startups 2019
Top 7 php frameworks for startups   2019Top 7 php frameworks for startups   2019
Top 7 php frameworks for startups 2019ValueCoders
 
Liferay portals in real projects
Liferay portals  in real projectsLiferay portals  in real projects
Liferay portals in real projectsIBACZ
 
Open source, What | Why | How
Open source, What | Why | How Open source, What | Why | How
Open source, What | Why | How Nikhil Agrawal
 
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
 
Java EE6 CodeCamp16 oct 2010
Java EE6 CodeCamp16 oct 2010Java EE6 CodeCamp16 oct 2010
Java EE6 CodeCamp16 oct 2010Codecamp Romania
 
UNC Chapel Hill 2014 CTC Retreat - Carolina Cloudapps / RedHat OpenShift Ente...
UNC Chapel Hill 2014 CTC Retreat - Carolina Cloudapps / RedHat OpenShift Ente...UNC Chapel Hill 2014 CTC Retreat - Carolina Cloudapps / RedHat OpenShift Ente...
UNC Chapel Hill 2014 CTC Retreat - Carolina Cloudapps / RedHat OpenShift Ente...Jonathan Pletzke
 

Similar a kroberts-php_frameworks (20)

"Building Modern PHP Applications" - Jackson Murtha, South Dakota Code Camp 2012
"Building Modern PHP Applications" - Jackson Murtha, South Dakota Code Camp 2012"Building Modern PHP Applications" - Jackson Murtha, South Dakota Code Camp 2012
"Building Modern PHP Applications" - Jackson Murtha, South Dakota Code Camp 2012
 
Node.js Course 2 of 2 - Advanced techniques
Node.js Course 2 of 2 - Advanced techniquesNode.js Course 2 of 2 - Advanced techniques
Node.js Course 2 of 2 - Advanced techniques
 
Data Science Salon: A Journey of Deploying a Data Science Engine to Production
Data Science Salon: A Journey of Deploying a Data Science Engine to ProductionData Science Salon: A Journey of Deploying a Data Science Engine to Production
Data Science Salon: A Journey of Deploying a Data Science Engine to Production
 
Web development in JavaEE7 with JSF, does it still matter?
Web development in JavaEE7 with JSF, does it still matter?Web development in JavaEE7 with JSF, does it still matter?
Web development in JavaEE7 with JSF, does it still matter?
 
PHP - Programming language war, does it matter
PHP - Programming language war, does it matterPHP - Programming language war, does it matter
PHP - Programming language war, does it matter
 
Implementing a Symfony Based CMS in a Publishing Company
Implementing a Symfony Based CMS in a Publishing CompanyImplementing a Symfony Based CMS in a Publishing Company
Implementing a Symfony Based CMS in a Publishing Company
 
Lightweight web frameworks
Lightweight web frameworksLightweight web frameworks
Lightweight web frameworks
 
Enabling The Enterprise With Php
Enabling The Enterprise With PhpEnabling The Enterprise With Php
Enabling The Enterprise With Php
 
java web framework standard.20180412
java web framework standard.20180412java web framework standard.20180412
java web framework standard.20180412
 
Agile Software Development by Sencha
Agile Software Development by SenchaAgile Software Development by Sencha
Agile Software Development by Sencha
 
Bledar Gjocaj - Java open source
Bledar Gjocaj - Java open sourceBledar Gjocaj - Java open source
Bledar Gjocaj - Java open source
 
symfony_from_scratch
symfony_from_scratchsymfony_from_scratch
symfony_from_scratch
 
symfony_from_scratch
symfony_from_scratchsymfony_from_scratch
symfony_from_scratch
 
Kick starting Network Automation
Kick starting Network AutomationKick starting Network Automation
Kick starting Network Automation
 
Top 7 php frameworks for startups 2019
Top 7 php frameworks for startups   2019Top 7 php frameworks for startups   2019
Top 7 php frameworks for startups 2019
 
Liferay portals in real projects
Liferay portals  in real projectsLiferay portals  in real projects
Liferay portals in real projects
 
Open source, What | Why | How
Open source, What | Why | How Open source, What | Why | How
Open source, What | Why | How
 
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
 
Java EE6 CodeCamp16 oct 2010
Java EE6 CodeCamp16 oct 2010Java EE6 CodeCamp16 oct 2010
Java EE6 CodeCamp16 oct 2010
 
UNC Chapel Hill 2014 CTC Retreat - Carolina Cloudapps / RedHat OpenShift Ente...
UNC Chapel Hill 2014 CTC Retreat - Carolina Cloudapps / RedHat OpenShift Ente...UNC Chapel Hill 2014 CTC Retreat - Carolina Cloudapps / RedHat OpenShift Ente...
UNC Chapel Hill 2014 CTC Retreat - Carolina Cloudapps / RedHat OpenShift Ente...
 

Más de tutorialsruby

<img src="../i/r_14.png" />
<img src="../i/r_14.png" /><img src="../i/r_14.png" />
<img src="../i/r_14.png" />tutorialsruby
 
TopStyle Help & <b>Tutorial</b>
TopStyle Help & <b>Tutorial</b>TopStyle Help & <b>Tutorial</b>
TopStyle Help & <b>Tutorial</b>tutorialsruby
 
The Art Institute of Atlanta IMD 210 Fundamentals of Scripting <b>...</b>
The Art Institute of Atlanta IMD 210 Fundamentals of Scripting <b>...</b>The Art Institute of Atlanta IMD 210 Fundamentals of Scripting <b>...</b>
The Art Institute of Atlanta IMD 210 Fundamentals of Scripting <b>...</b>tutorialsruby
 
<img src="../i/r_14.png" />
<img src="../i/r_14.png" /><img src="../i/r_14.png" />
<img src="../i/r_14.png" />tutorialsruby
 
<img src="../i/r_14.png" />
<img src="../i/r_14.png" /><img src="../i/r_14.png" />
<img src="../i/r_14.png" />tutorialsruby
 
Standardization and Knowledge Transfer – INS0
Standardization and Knowledge Transfer – INS0Standardization and Knowledge Transfer – INS0
Standardization and Knowledge Transfer – INS0tutorialsruby
 
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa0602690047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269tutorialsruby
 
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa0602690047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269tutorialsruby
 
BloggingWithStyle_2008
BloggingWithStyle_2008BloggingWithStyle_2008
BloggingWithStyle_2008tutorialsruby
 
BloggingWithStyle_2008
BloggingWithStyle_2008BloggingWithStyle_2008
BloggingWithStyle_2008tutorialsruby
 
cascadingstylesheets
cascadingstylesheetscascadingstylesheets
cascadingstylesheetstutorialsruby
 
cascadingstylesheets
cascadingstylesheetscascadingstylesheets
cascadingstylesheetstutorialsruby
 

Más de tutorialsruby (20)

<img src="../i/r_14.png" />
<img src="../i/r_14.png" /><img src="../i/r_14.png" />
<img src="../i/r_14.png" />
 
TopStyle Help & <b>Tutorial</b>
TopStyle Help & <b>Tutorial</b>TopStyle Help & <b>Tutorial</b>
TopStyle Help & <b>Tutorial</b>
 
The Art Institute of Atlanta IMD 210 Fundamentals of Scripting <b>...</b>
The Art Institute of Atlanta IMD 210 Fundamentals of Scripting <b>...</b>The Art Institute of Atlanta IMD 210 Fundamentals of Scripting <b>...</b>
The Art Institute of Atlanta IMD 210 Fundamentals of Scripting <b>...</b>
 
<img src="../i/r_14.png" />
<img src="../i/r_14.png" /><img src="../i/r_14.png" />
<img src="../i/r_14.png" />
 
<img src="../i/r_14.png" />
<img src="../i/r_14.png" /><img src="../i/r_14.png" />
<img src="../i/r_14.png" />
 
Standardization and Knowledge Transfer – INS0
Standardization and Knowledge Transfer – INS0Standardization and Knowledge Transfer – INS0
Standardization and Knowledge Transfer – INS0
 
xhtml_basics
xhtml_basicsxhtml_basics
xhtml_basics
 
xhtml_basics
xhtml_basicsxhtml_basics
xhtml_basics
 
xhtml-documentation
xhtml-documentationxhtml-documentation
xhtml-documentation
 
xhtml-documentation
xhtml-documentationxhtml-documentation
xhtml-documentation
 
CSS
CSSCSS
CSS
 
CSS
CSSCSS
CSS
 
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa0602690047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
 
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa0602690047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
 
HowTo_CSS
HowTo_CSSHowTo_CSS
HowTo_CSS
 
HowTo_CSS
HowTo_CSSHowTo_CSS
HowTo_CSS
 
BloggingWithStyle_2008
BloggingWithStyle_2008BloggingWithStyle_2008
BloggingWithStyle_2008
 
BloggingWithStyle_2008
BloggingWithStyle_2008BloggingWithStyle_2008
BloggingWithStyle_2008
 
cascadingstylesheets
cascadingstylesheetscascadingstylesheets
cascadingstylesheets
 
cascadingstylesheets
cascadingstylesheetscascadingstylesheets
cascadingstylesheets
 

Último

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
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
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
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
 
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
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
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
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
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
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
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
 

Último (20)

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
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
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
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
 
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
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
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
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
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
 

kroberts-php_frameworks

  • 1. PHP Frameworks Mar 2, 2006 Atlanta PHP User Group 1
  • 2. Disclaimers ● Novice Perspective ● Not rigorous, not exhaustive ● Subjective assessments ● Only considering Open Source Mar 2, 2006 Atlanta PHP User Group 2
  • 3. What is a Framework? ● Library of Processes/Practices? ● Library of Code Modules/Templates/Objects? ● Library of Automation Tools? ● Consultant BS? ● All of the above? Mar 2, 2006 Atlanta PHP User Group 3
  • 4. Nothing New Under the Sun ● Standard way of doing things – Repeatability – Scaffolding – Patterns ● Simplify the process ● Automate the tedious bits Mar 2, 2006 Atlanta PHP User Group 4
  • 5. Expectations ● Influence of Ruby on Rails ● Highly automated ● Object oriented language ● Database abstraction ● Use of assumptions in development Mar 2, 2006 Atlanta PHP User Group 5
  • 6. Expectations ● General Acceptance of MVC Division of Labor – Model – information storage – View – information display – Controller – information manipulation (business logic) View View View Request Controller Model Mar 2, 2006 Atlanta PHP User Group 6
  • 7. PHP Frameworks ● Lots to choose from! – Zend - CakePHP – eZ Components - Symfony – WASP - etc. etc. etc. ● Many ports of Java MVC frameworks – Phrame (Struts) – Studs (Struts) – etc. etc. etc. Mar 2, 2006 Atlanta PHP User Group 7
  • 8. Zend PHP Framework ● Announced and hyped ● Many PHP players on board ● Company angle – Zend – www.zend.com ● Framework links – www.zend.com/collaboration – www.zend.com/collaboration/framework_overview Mar 2, 2006 Atlanta PHP User Group 8
  • 9. eZ Components ● Object library approach ● Simplified object loading ● No UI components, No Ajax support, No automated data model creation (yet) ● Seems geared toward professional coders ● Company angle – eZ Systems – ez.no – ez.no/products/ez_components Mar 2, 2006 Atlanta PHP User Group 9
  • 10. WASP ● wasp.sourceforge.net/content ● So-so community support ● Company angle: – Pango Media – www.pangomedia.com Mar 2, 2006 Atlanta PHP User Group 10
  • 11. CakePHP ● www.cakephp.org ● Dynamic community ● Company angle: – None? Mar 2, 2006 Atlanta PHP User Group 11
  • 12. Symfony ● www.symfony-project.org ● Dynamic community ● Excellent documentation/tutorials ● Data abstraction layer/schema generator provided (Propel) ● Company angle: – Sensio – www.sensio.fr Mar 2, 2006 Atlanta PHP User Group 12
  • 13. Symfony Demo ● sf_sandbox (for quick start) ● Tutorial notes – Missing folder: …/apps/frontend/modules – SQLite needs to be enabled in PHP 5.1.x ● php.ini settings ● extension=php_pdo.dll ● extension=php_sqlite.dll Mar 2, 2006 Atlanta PHP User Group 13
  • 14. Symfony Integrations ● Propel – Object Relational Mapping (ORM) ● Creole – SQL data abstraction layer
  • 15. Tutorial Steps 1. Install symfony and initialize the project 2. Initialize the data model 3. Create the application scaffolding 4. Modify the layout 5. Pass data from the application to the template 6. Add a record relative to another table Mar 2, 2006 Atlanta PHP User Group 15
  • 16. Tutorial Steps 7. Form validation 8. Change the URL aspect 9. Clean up the frontend 10. Generation of backend 11. Restrict access to backend 12. Conclusion Mar 2, 2006 Atlanta PHP User Group 16
  • 17. Big project how to... ● Advent calendar of tutorials – www.symfony-project.com/askeet – www.askeet.com Mar 2, 2006 Atlanta PHP User Group 17
  • 18. Conclusions ● Frameworks are about organizing your development practices. Can you? ● Open source frameworks are still rough; tutorials need work ● When you commit to somebody else’s framework, you may be at their mercy. ● Expect trend toward frameworks endorsed by major industry players