SlideShare uma empresa Scribd logo
1 de 49
Who is this bloke?
•   Graham Weldon
•   PHP: 9 years
•   CakePHP Core Developer
•   http://grahamweldon.com
•   Cake Development Corporation
•   http://cakedc.com
•   @predominant
•   Workshops                •   Conference

•   Learn from the core      •   Presentations from core
    developers                   developers

•   Get one on one support   •   Community presenters
    for existing code
                             •   Lightning talks
•   Comfortable, easy to
    learn environment        •   Prizes

•   Cheaper than ever!       •   Networking
Concept

• Software Requirements
• Impact Analysis
• Documentation
Concept

• Projects
• Sections
• Requirements
• Dependencies
• Tests
Concept

• Projects
• Sections
• Requirements
• Dependencies
• Tests
Defining Standards

• Models
• Views
• Controllers
• Libraries
• Database
Standards: Models
•   Class name: Singular

    •   Project

    •   SoftwareProject

•   Filename: Singular (lowercase, underscored)

    •   project.php

    •   software_project.php

•   Path: /app/models/
Standards: Views


• File name: Match Controller action name
• Path: /app/views/<controller>/<action>.ctp
Standards: Controllers

• Class Name: Plural
 • ProjectsController
• File Name: Plural (lowercase, underscored)
 • projects_controller.php
• Path: /app/controllers/
Standards: Database
• Tables: Plural (lowercase, underscored)
 • projects
 • software_projects
• Foreign Keys: Singlular (lowercase, id suffix)
 • project_id
 • software_project_id
Designing the Database
User
User   Project
User   Project   Project
User   Project     Project


         Section     Section
User   Project     Project


         Section     Section

         Section     Section

         Section     Section
User   Project     Project


         Section     Section

         Section     Section

         Section     Section


            R
User       Project         Project


             Section         Section

             Section         Section

             Section         Section


                R

       R               R
User       Project               Project


               Section             Section

               Section             Section

               Section             Section


                 R

       R                     R


           R             R
User       Project               Project


               Section             Section

               Section             Section

               Section             Section


                 R

       R                     R


           R             R
User       Project               Project


               Section             Section

               Section             Section

               Section             Section


                 R

       R                     R


           R             R
Baking
Models




Controllers




 Views
Models
Representation of data, and
provision of operations to be
performed on data


Controllers




 Views
Models
Representation of data, and
provision of operations to be
performed on data


Controllers
Application flow control. Pass model
data to views, prevent unauthorised
access.


 Views
Models
Representation of data, and
provision of operations to be
performed on data


Controllers
Application flow control. Pass model
data to views, prevent unauthorised
access.


 Views
Output from application. XHTML,
JSON, XML, etc.
Models




Controllers




 Views
Models
$   cake    bake   model   user
$   cake    bake   model   project
$   cake    bake   model   section
$   cake    bake   model   requirement


Controllers




    Views
Models
$   cake    bake   model   user
$   cake    bake   model   project
$   cake    bake   model   section
$   cake    bake   model   requirement


Controllers
$   cake    bake   controller   users
$   cake    bake   controller   projects
$   cake    bake   controller   sections
$   cake    bake   controller   requirements


    Views
Models
$   cake    bake   model   user
$   cake    bake   model   project
$   cake    bake   model   section
$   cake    bake   model   requirement


Controllers
$   cake    bake   controller   users
$   cake    bake   controller   projects
$   cake    bake   controller   sections
$   cake    bake   controller   requirements


    Views
$ cake bake view all
Models
$    cake   bake   model      user
$    cake   bake   model      project
$    cake   bake   model      section
$    cake   bake   model      requirement


Controllers
$    cake   bake   controller      users
$    cake   bake   controller      projects
$    cake   bake   controller      sections
$    cake   bake   controller      requirements


    Views
$ cake bake view all

    There are shortcuts for
         most things
Models
$    cake   bake   model      user
$    cake   bake   model      project
$    cake   bake   model      section
$    cake   bake   model      requirement


Controllers
$    cake   bake   controller      users
$    cake   bake   controller      projects
$    cake   bake   controller      sections
$    cake   bake   controller      requirements


    Views
$ cake bake view all

    There are shortcuts for        Console help:
         most things             $ cake bake help
Models
$    cake   bake   model      user
$    cake   bake   model      project
$    cake   bake   model      section
$    cake   bake   model      requirement


Controllers
$    cake   bake   controller      users
$    cake   bake   controller      projects
$    cake   bake   controller      sections
$    cake   bake   controller      requirements


    Views
$ cake bake view all

    There are shortcuts for        Console help:
         most things             $ cake bake help
What was generated?
Associations
Has One

  1 .. 1
Has Many
Has Many

  1 .. n
Belongs To

   1 .. n
Has And Belongs To Many
Has And Belongs To Many


         n .. n
Has And Belongs To Many


         n .. n




     HABTM
Authentication
Alternate Content




    RSS, JSON, XML
Training
Training
•   Beginners            •   Cake Development
                             Corporation
•   Experienced users
                         •   Employs most of the
•   Code Review              CakePHP Core dev’s

•   Project Management   •   Largest supporter of the
                             CakePHP Framework
Thanks!

Mais conteúdo relacionado

Semelhante a Cake php concept to deployment

King Tut Architecture
King Tut ArchitectureKing Tut Architecture
King Tut ArchitectureGary Pedretti
 
Advantages of Rails Framework
Advantages of Rails FrameworkAdvantages of Rails Framework
Advantages of Rails FrameworkSathish Mariappan
 
Qa test managed_code_varhol
Qa test managed_code_varholQa test managed_code_varhol
Qa test managed_code_varholPeter Varhol
 
20141210 - Microservice Container
20141210 - Microservice Container20141210 - Microservice Container
20141210 - Microservice ContainerJamie (Taka) Wang
 
Continuous delivery is more than dev ops
Continuous delivery is more than dev opsContinuous delivery is more than dev ops
Continuous delivery is more than dev opsAgile Montréal
 
Develop Maintainable Apps - edUiConf
Develop Maintainable Apps - edUiConfDevelop Maintainable Apps - edUiConf
Develop Maintainable Apps - edUiConfAnnyce Davis
 
How angularjs saves rails
How angularjs saves railsHow angularjs saves rails
How angularjs saves railsMichael He
 
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...Simplilearn
 
Mastering angular - Dot Net Tricks
Mastering angular - Dot Net TricksMastering angular - Dot Net Tricks
Mastering angular - Dot Net TricksGaurav Singh
 
SUGCON 2015 Modelling
SUGCON 2015 ModellingSUGCON 2015 Modelling
SUGCON 2015 ModellingGlasslu
 
Who Is A DevOps Engineer? | DevOps Skills You Must Master | DevOps Engineer M...
Who Is A DevOps Engineer? | DevOps Skills You Must Master | DevOps Engineer M...Who Is A DevOps Engineer? | DevOps Skills You Must Master | DevOps Engineer M...
Who Is A DevOps Engineer? | DevOps Skills You Must Master | DevOps Engineer M...Edureka!
 
From Backbone to Ember and Back(bone) Again
From Backbone to Ember and Back(bone) AgainFrom Backbone to Ember and Back(bone) Again
From Backbone to Ember and Back(bone) Againjonknapp
 
Dockercon State of the Art in Microservices
Dockercon State of the Art in MicroservicesDockercon State of the Art in Microservices
Dockercon State of the Art in MicroservicesAdrian Cockcroft
 
QA or the Highway 2022.pptx
QA or the Highway 2022.pptxQA or the Highway 2022.pptx
QA or the Highway 2022.pptxPerfecto Mobile
 
Deploy Faster Without Failing Faster - Metrics-Driven - Dynatrace User Groups...
Deploy Faster Without Failing Faster - Metrics-Driven - Dynatrace User Groups...Deploy Faster Without Failing Faster - Metrics-Driven - Dynatrace User Groups...
Deploy Faster Without Failing Faster - Metrics-Driven - Dynatrace User Groups...Andreas Grabner
 
Continuous Performance Testing and Monitoring in Agile Development
Continuous Performance Testing and Monitoring in Agile DevelopmentContinuous Performance Testing and Monitoring in Agile Development
Continuous Performance Testing and Monitoring in Agile DevelopmentDynatrace
 
What is Angular version 4?
What is Angular version 4?What is Angular version 4?
What is Angular version 4?Troy Miles
 
Introduction to Protractor
Introduction to ProtractorIntroduction to Protractor
Introduction to ProtractorFlorian Fesseler
 

Semelhante a Cake php concept to deployment (20)

King Tut Architecture
King Tut ArchitectureKing Tut Architecture
King Tut Architecture
 
SonarQube
SonarQubeSonarQube
SonarQube
 
Advantages of Rails Framework
Advantages of Rails FrameworkAdvantages of Rails Framework
Advantages of Rails Framework
 
Qa test managed_code_varhol
Qa test managed_code_varholQa test managed_code_varhol
Qa test managed_code_varhol
 
20141210 - Microservice Container
20141210 - Microservice Container20141210 - Microservice Container
20141210 - Microservice Container
 
Continuous delivery is more than dev ops
Continuous delivery is more than dev opsContinuous delivery is more than dev ops
Continuous delivery is more than dev ops
 
Develop Maintainable Apps - edUiConf
Develop Maintainable Apps - edUiConfDevelop Maintainable Apps - edUiConf
Develop Maintainable Apps - edUiConf
 
How angularjs saves rails
How angularjs saves railsHow angularjs saves rails
How angularjs saves rails
 
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
 
Mastering angular - Dot Net Tricks
Mastering angular - Dot Net TricksMastering angular - Dot Net Tricks
Mastering angular - Dot Net Tricks
 
SUGCON 2015 Modelling
SUGCON 2015 ModellingSUGCON 2015 Modelling
SUGCON 2015 Modelling
 
Who Is A DevOps Engineer? | DevOps Skills You Must Master | DevOps Engineer M...
Who Is A DevOps Engineer? | DevOps Skills You Must Master | DevOps Engineer M...Who Is A DevOps Engineer? | DevOps Skills You Must Master | DevOps Engineer M...
Who Is A DevOps Engineer? | DevOps Skills You Must Master | DevOps Engineer M...
 
From Backbone to Ember and Back(bone) Again
From Backbone to Ember and Back(bone) AgainFrom Backbone to Ember and Back(bone) Again
From Backbone to Ember and Back(bone) Again
 
Dockercon State of the Art in Microservices
Dockercon State of the Art in MicroservicesDockercon State of the Art in Microservices
Dockercon State of the Art in Microservices
 
QA or the Highway 2022.pptx
QA or the Highway 2022.pptxQA or the Highway 2022.pptx
QA or the Highway 2022.pptx
 
Deploy Faster Without Failing Faster - Metrics-Driven - Dynatrace User Groups...
Deploy Faster Without Failing Faster - Metrics-Driven - Dynatrace User Groups...Deploy Faster Without Failing Faster - Metrics-Driven - Dynatrace User Groups...
Deploy Faster Without Failing Faster - Metrics-Driven - Dynatrace User Groups...
 
Continuous Performance Testing and Monitoring in Agile Development
Continuous Performance Testing and Monitoring in Agile DevelopmentContinuous Performance Testing and Monitoring in Agile Development
Continuous Performance Testing and Monitoring in Agile Development
 
What is Angular version 4?
What is Angular version 4?What is Angular version 4?
What is Angular version 4?
 
Angular js 1.0-fundamentals
Angular js 1.0-fundamentalsAngular js 1.0-fundamentals
Angular js 1.0-fundamentals
 
Introduction to Protractor
Introduction to ProtractorIntroduction to Protractor
Introduction to Protractor
 

Cake php concept to deployment

  • 1.
  • 2. Who is this bloke? • Graham Weldon • PHP: 9 years • CakePHP Core Developer • http://grahamweldon.com • Cake Development Corporation • http://cakedc.com • @predominant
  • 3. Workshops • Conference • Learn from the core • Presentations from core developers developers • Get one on one support • Community presenters for existing code • Lightning talks • Comfortable, easy to learn environment • Prizes • Cheaper than ever! • Networking
  • 4.
  • 5. Concept • Software Requirements • Impact Analysis • Documentation
  • 6. Concept • Projects • Sections • Requirements • Dependencies • Tests
  • 7. Concept • Projects • Sections • Requirements • Dependencies • Tests
  • 8. Defining Standards • Models • Views • Controllers • Libraries • Database
  • 9. Standards: Models • Class name: Singular • Project • SoftwareProject • Filename: Singular (lowercase, underscored) • project.php • software_project.php • Path: /app/models/
  • 10. Standards: Views • File name: Match Controller action name • Path: /app/views/<controller>/<action>.ctp
  • 11. Standards: Controllers • Class Name: Plural • ProjectsController • File Name: Plural (lowercase, underscored) • projects_controller.php • Path: /app/controllers/
  • 12. Standards: Database • Tables: Plural (lowercase, underscored) • projects • software_projects • Foreign Keys: Singlular (lowercase, id suffix) • project_id • software_project_id
  • 14. User
  • 15. User Project
  • 16. User Project Project
  • 17. User Project Project Section Section
  • 18. User Project Project Section Section Section Section Section Section
  • 19. User Project Project Section Section Section Section Section Section R
  • 20. User Project Project Section Section Section Section Section Section R R R
  • 21. User Project Project Section Section Section Section Section Section R R R R R
  • 22. User Project Project Section Section Section Section Section Section R R R R R
  • 23. User Project Project Section Section Section Section Section Section R R R R R
  • 26. Models Representation of data, and provision of operations to be performed on data Controllers Views
  • 27. Models Representation of data, and provision of operations to be performed on data Controllers Application flow control. Pass model data to views, prevent unauthorised access. Views
  • 28. Models Representation of data, and provision of operations to be performed on data Controllers Application flow control. Pass model data to views, prevent unauthorised access. Views Output from application. XHTML, JSON, XML, etc.
  • 30. Models $ cake bake model user $ cake bake model project $ cake bake model section $ cake bake model requirement Controllers Views
  • 31. Models $ cake bake model user $ cake bake model project $ cake bake model section $ cake bake model requirement Controllers $ cake bake controller users $ cake bake controller projects $ cake bake controller sections $ cake bake controller requirements Views
  • 32. Models $ cake bake model user $ cake bake model project $ cake bake model section $ cake bake model requirement Controllers $ cake bake controller users $ cake bake controller projects $ cake bake controller sections $ cake bake controller requirements Views $ cake bake view all
  • 33. Models $ cake bake model user $ cake bake model project $ cake bake model section $ cake bake model requirement Controllers $ cake bake controller users $ cake bake controller projects $ cake bake controller sections $ cake bake controller requirements Views $ cake bake view all There are shortcuts for most things
  • 34. Models $ cake bake model user $ cake bake model project $ cake bake model section $ cake bake model requirement Controllers $ cake bake controller users $ cake bake controller projects $ cake bake controller sections $ cake bake controller requirements Views $ cake bake view all There are shortcuts for Console help: most things $ cake bake help
  • 35. Models $ cake bake model user $ cake bake model project $ cake bake model section $ cake bake model requirement Controllers $ cake bake controller users $ cake bake controller projects $ cake bake controller sections $ cake bake controller requirements Views $ cake bake view all There are shortcuts for Console help: most things $ cake bake help
  • 38. Has One 1 .. 1
  • 40. Has Many 1 .. n
  • 41. Belongs To 1 .. n
  • 42. Has And Belongs To Many
  • 43. Has And Belongs To Many n .. n
  • 44. Has And Belongs To Many n .. n HABTM
  • 46. Alternate Content RSS, JSON, XML
  • 48. Training • Beginners • Cake Development Corporation • Experienced users • Employs most of the • Code Review CakePHP Core dev’s • Project Management • Largest supporter of the CakePHP Framework

Notas do Editor