SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Andere mochten auch

Tsg Managed Support Offering - Signature Care Overview
Tsg Managed Support Offering - Signature Care OverviewTsg Managed Support Offering - Signature Care Overview
Tsg Managed Support Offering - Signature Care Overviewmcini
 
Second Magazine Analysis
Second Magazine AnalysisSecond Magazine Analysis
Second Magazine Analysisguest0f911b
 
2013 Babson Diploma
2013 Babson Diploma2013 Babson Diploma
2013 Babson DiplomaLindsey Tarr
 
Revision and Test Lesson.ppt
Revision and Test Lesson.pptRevision and Test Lesson.ppt
Revision and Test Lesson.pptmrmeredith
 
CERT - NADIA - OFFICE ADMINISTRATION
CERT - NADIA - OFFICE ADMINISTRATIONCERT - NADIA - OFFICE ADMINISTRATION
CERT - NADIA - OFFICE ADMINISTRATIONMaria Raju
 
VZAgent_SOAP_Tutorial
VZAgent_SOAP_TutorialVZAgent_SOAP_Tutorial
VZAgent_SOAP_Tutorialtutorialsruby
 
O papel da tutoria no desenvolvimento curricular
O papel da tutoria no desenvolvimento curricularO papel da tutoria no desenvolvimento curricular
O papel da tutoria no desenvolvimento curricularMaria Casanova
 
Reproducción (2)
Reproducción (2)Reproducción (2)
Reproducción (2)Juan-Arango
 

Andere mochten auch (14)

NutritionCamp. Food Security - Prof. George Simon
NutritionCamp. Food Security - Prof. George SimonNutritionCamp. Food Security - Prof. George Simon
NutritionCamp. Food Security - Prof. George Simon
 
Tsg Managed Support Offering - Signature Care Overview
Tsg Managed Support Offering - Signature Care OverviewTsg Managed Support Offering - Signature Care Overview
Tsg Managed Support Offering - Signature Care Overview
 
Second Magazine Analysis
Second Magazine AnalysisSecond Magazine Analysis
Second Magazine Analysis
 
newsletter56
newsletter56newsletter56
newsletter56
 
2013 Babson Diploma
2013 Babson Diploma2013 Babson Diploma
2013 Babson Diploma
 
Revision and Test Lesson.ppt
Revision and Test Lesson.pptRevision and Test Lesson.ppt
Revision and Test Lesson.ppt
 
CERT - NADIA - OFFICE ADMINISTRATION
CERT - NADIA - OFFICE ADMINISTRATIONCERT - NADIA - OFFICE ADMINISTRATION
CERT - NADIA - OFFICE ADMINISTRATION
 
VZAgent_SOAP_Tutorial
VZAgent_SOAP_TutorialVZAgent_SOAP_Tutorial
VZAgent_SOAP_Tutorial
 
Reache Ramirez CV
Reache Ramirez CVReache Ramirez CV
Reache Ramirez CV
 
LittleBookOfRuby
LittleBookOfRubyLittleBookOfRuby
LittleBookOfRuby
 
O papel da tutoria no desenvolvimento curricular
O papel da tutoria no desenvolvimento curricularO papel da tutoria no desenvolvimento curricular
O papel da tutoria no desenvolvimento curricular
 
C.V Mohammad Jihad
C.V Mohammad JihadC.V Mohammad Jihad
C.V Mohammad Jihad
 
Reproducción (2)
Reproducción (2)Reproducción (2)
Reproducción (2)
 
i care
i carei care
i care
 

Ähnlich wie <b>PHP</b> 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
 

Ähnlich wie <b>PHP</b> 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...
 

Mehr von 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
 

Mehr von 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
 

Kürzlich hochgeladen

EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMKumar Satyam
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)Samir Dash
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 

Kürzlich hochgeladen (20)

EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 

<b>PHP</b> 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