SlideShare a Scribd company logo
Learn how to develop withCakePHPBoston PHP : Michael BourquePart IFeb 17th, 2010
Welcome to Boston PHPStarted in 2002Open styled meetings66 Meetings so far600 Members strongLocation, Location, LocationBoston, Cambridge, Norwell, Salem, Somerville, QuincyMIT, Microsoft, BUmeetup.com/bostonphp
Boston PHP Past MeetingsLearn how to create a FaceBook appSHOW n' TELL nightThe ultimate PHP "date night"... Debugging and a movieFramework Bake off...Get Smart - Use Smarty!Lessons from my.barackobama.comjQuery and the Last MilePHP IDE Bake-Off Mediawiki in productionFlex & the ZendFramework
An introduction to jQuery
The mystery of CSS and Design
Choosing an OSS license to match your business model
Developing, pricing & delivering OSS applications
How to get your OSS venture off the ground.
What is Agile Scrum?
Building the PHP-stack for the enterprise
Object-Relational Mapping (ORM) in actionMarch 10: Cake PHP part IIJoin us for part II in our series on CakePHP framework. Join Chris and Jesse Kochis as they give you a more in-depth advanced view of CakePHP.
April 7: Enhance your apps jQueryWhat is jQueryHow to installSyntaxReview of the documentationPractical uses of jQuery in your appLight-box dialogsForm validationEffects such as Animation, Fading, Easing, EtcAjaxPage blockingProgressive enhancementsHow to use jQuery pluginsjQuery UIMore...
Design an app without writing a single line of codeHow to think about your app and start to experiment with your ideasPrototyping toolsPrototyping single pages and user interactionsCreating a linkable prototype that looks almost like a working appExporting your prototype to the web for remote testing and design feedbackPaper prototyping and usability testingDesigning a great user experience with interaction design
Startup/Hack MonthCome to the podium and post an idea for an app that does not yet exists or could be improved.You should be willing to share this idea and not an idea that you’re not willing to share with othersAsk for volunteers to help you take your idea and conceptualize it into a low fidelity prototypeWork as a team onsite to produce the low fidelity prototypePresent your prototype to the audiencePlan with your team how best to build the app. What technology you will useWhat roles each other can playHow your team will work togetherCome back to BostonPHP (one month later) and present your progress and demo what you have so farDiscuss what technology your usingDiscuss how you were organizedWhat worked well, what didn’tWhat you would like to do next
PHP SecurityCross-Site Request ForgeriesCross-Site ScriptingSession FixationCross-Site Session TransferPseudo-Random Number Generator AttacksSQL InjectionEmail InjectionPath DisclosurePath TraversalRequest Value FixationInvalid Character EncodingFile UploadsPassword HashingMagic Quotes and Register Globals- Cryptography Mistakes
Tell us what you want!Learning seriesOpen sourceWeb developmentWeb designFrameworksApplication design…Vote now!meetup.com/bostonphp/ideas
Boston PHP : Volunteers neededWebmasterLogisticsVideo cameramanTopic PresentersMore…
Boston PHP : Free
Learn how to develop withCakePHPBoston PHP : Michael BourquePart I
Why a framework?<?php	echo “why?”; ?>
What do most WebApps do?Display HTMLStatic pagesDynamic pagesFormsHandle form dataCRUD (Create, Read, Update, Delete)SecurityAuthenticationAuthorizationCachingEtc…
PHP Frameworks?
Model, View, ControllerTried and true software design pattern that is:MaintainableModularAbility to rapidly prototype New features are easily addedSeparate design allows developers and designers to work simultaneouslySeparation allows developers to make changes in one part of the application without affecting others.
Cake PHP Anatomy
File and Classname Conventions Filenames are underscored while classnames are CamelCasedSo if you have a class MyNiftyClass, then in Cake, the file should be named my_nifty_class.php
Model and Database ConventionsModel classnames are singular and CamelCased.Table names corresponding to CakePHP models are plural and underscored.peopletasksusersField names with two or more words are underscored likefirst_nameForeign keys<singular_table_name>_id
Controller ConventionsController classnames are plural, CamelCased, and end in Controller. PeopleController and LatestArticlesController are both examples of conventional controller names.
View ConventionsView template files are named after the controller functions they display, in an underscored form. The getReady() function of the PeopleController class will look for a view template in /app/views/people/get_ready.ctp.
Documentation : The Bakery

More Related Content

KEY
CakePHP 2.0 - It'll rock your world
PPTX
PPT - A slice of cake php
PDF
PPT
9 Awesome cake php tutorials and resources
PDF
Behavior & Specification Driven Development in PHP - #OpenWest
PDF
Cakephp manual-11
PDF
Building Restful Web App Rapidly in CakePHP
PPTX
Integrate any Angular Project into WebSphere Portal
CakePHP 2.0 - It'll rock your world
PPT - A slice of cake php
9 Awesome cake php tutorials and resources
Behavior & Specification Driven Development in PHP - #OpenWest
Cakephp manual-11
Building Restful Web App Rapidly in CakePHP
Integrate any Angular Project into WebSphere Portal

What's hot (20)

PPTX
Rapid application development for WordPress using AWF
PPTX
PPTX
DrupalCon LA 2015 Review
PPTX
PHP Summer Training Presentation
PPT
ColdFusion framework comparison
PDF
CakePHP 3.0: Embracing the future
PPT
Ria Development With Flex And PHP
PPT
PHP: Debugger, Profiler and more
PDF
Bootstrap and XPages (DanNotes 2013)
PPTX
PHP .ppt
PPTX
Mule velocity
PPTX
Bootstrap4XPages webinar
PPTX
Automated Testing Of EPiServer CMS Sites
PDF
[drupalday2017] - REST in pieces
PPTX
EPiServer Deployment Tips & Tricks
PDF
Usability in the GeoWeb
PDF
Mastering WordPress Vol.1
PPT
Advanced Web Development
PPT
Build your own PHP extension
PDF
HTML5 for PHP Developers - IPC
Rapid application development for WordPress using AWF
DrupalCon LA 2015 Review
PHP Summer Training Presentation
ColdFusion framework comparison
CakePHP 3.0: Embracing the future
Ria Development With Flex And PHP
PHP: Debugger, Profiler and more
Bootstrap and XPages (DanNotes 2013)
PHP .ppt
Mule velocity
Bootstrap4XPages webinar
Automated Testing Of EPiServer CMS Sites
[drupalday2017] - REST in pieces
EPiServer Deployment Tips & Tricks
Usability in the GeoWeb
Mastering WordPress Vol.1
Advanced Web Development
Build your own PHP extension
HTML5 for PHP Developers - IPC
Ad

Similar to Learn How To Develop With CakePHP (20)

PDF
Phparchitect Command Line Picasso Eric Mann Eric Van Johnson
PDF
Php mysql-training online-by_php2ranjan
PDF
php training in hyderabad
PDF
Phparchitect Box Of Php Eric Mann Eric Van Johnson Chris Tankersley
PDF
PHP Courses in Chandigarh
PPTX
PDF
PHP Unit-1 Introduction to PHP
PPT
GTU MCA PHP Interview Questions And Answers for freshers
DOC
bakkesh_php_mysql_javascript_jquery_5.5yrs_Exp
PDF
DIPLOMA IN DESIGNING AND WEBSITE DEVELOPMENT
PDF
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
PDF
Modern Php New Features And Good Practices Josh Lockhart Lockhart
PDF
Phpeclipse A User Guide 1st Edition Shu Wai Chow
PDF
PHP/MySQL Training Course in Delhi, India by IT People
PDF
PHP Basics
PDF
Php Interview Questions
PDF
User Experience Bootcamp for Developers
PPTX
Website development courses
PDF
MERN Stack Developer Course Syllabus
PPTX
What’s Coming in PHP 9 – Upcoming features and trends in PHP development.pptx
Phparchitect Command Line Picasso Eric Mann Eric Van Johnson
Php mysql-training online-by_php2ranjan
php training in hyderabad
Phparchitect Box Of Php Eric Mann Eric Van Johnson Chris Tankersley
PHP Courses in Chandigarh
PHP Unit-1 Introduction to PHP
GTU MCA PHP Interview Questions And Answers for freshers
bakkesh_php_mysql_javascript_jquery_5.5yrs_Exp
DIPLOMA IN DESIGNING AND WEBSITE DEVELOPMENT
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
Modern Php New Features And Good Practices Josh Lockhart Lockhart
Phpeclipse A User Guide 1st Edition Shu Wai Chow
PHP/MySQL Training Course in Delhi, India by IT People
PHP Basics
Php Interview Questions
User Experience Bootcamp for Developers
Website development courses
MERN Stack Developer Course Syllabus
What’s Coming in PHP 9 – Upcoming features and trends in PHP development.pptx
Ad

Recently uploaded (20)

PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
cuic standard and advanced reporting.pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
A Presentation on Artificial Intelligence
PPTX
Spectroscopy.pptx food analysis technology
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
Cloud computing and distributed systems.
Chapter 3 Spatial Domain Image Processing.pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
20250228 LYD VKU AI Blended-Learning.pptx
A comparative analysis of optical character recognition models for extracting...
Advanced methodologies resolving dimensionality complications for autism neur...
The Rise and Fall of 3GPP – Time for a Sabbatical?
cuic standard and advanced reporting.pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
NewMind AI Weekly Chronicles - August'25-Week II
Diabetes mellitus diagnosis method based random forest with bat algorithm
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
sap open course for s4hana steps from ECC to s4
Assigned Numbers - 2025 - Bluetooth® Document
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
A Presentation on Artificial Intelligence
Spectroscopy.pptx food analysis technology
Dropbox Q2 2025 Financial Results & Investor Presentation
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Cloud computing and distributed systems.

Learn How To Develop With CakePHP

  • 1. Learn how to develop withCakePHPBoston PHP : Michael BourquePart IFeb 17th, 2010
  • 2. Welcome to Boston PHPStarted in 2002Open styled meetings66 Meetings so far600 Members strongLocation, Location, LocationBoston, Cambridge, Norwell, Salem, Somerville, QuincyMIT, Microsoft, BUmeetup.com/bostonphp
  • 3. Boston PHP Past MeetingsLearn how to create a FaceBook appSHOW n' TELL nightThe ultimate PHP "date night"... Debugging and a movieFramework Bake off...Get Smart - Use Smarty!Lessons from my.barackobama.comjQuery and the Last MilePHP IDE Bake-Off Mediawiki in productionFlex & the ZendFramework
  • 5. The mystery of CSS and Design
  • 6. Choosing an OSS license to match your business model
  • 7. Developing, pricing & delivering OSS applications
  • 8. How to get your OSS venture off the ground.
  • 10. Building the PHP-stack for the enterprise
  • 11. Object-Relational Mapping (ORM) in actionMarch 10: Cake PHP part IIJoin us for part II in our series on CakePHP framework. Join Chris and Jesse Kochis as they give you a more in-depth advanced view of CakePHP.
  • 12. April 7: Enhance your apps jQueryWhat is jQueryHow to installSyntaxReview of the documentationPractical uses of jQuery in your appLight-box dialogsForm validationEffects such as Animation, Fading, Easing, EtcAjaxPage blockingProgressive enhancementsHow to use jQuery pluginsjQuery UIMore...
  • 13. Design an app without writing a single line of codeHow to think about your app and start to experiment with your ideasPrototyping toolsPrototyping single pages and user interactionsCreating a linkable prototype that looks almost like a working appExporting your prototype to the web for remote testing and design feedbackPaper prototyping and usability testingDesigning a great user experience with interaction design
  • 14. Startup/Hack MonthCome to the podium and post an idea for an app that does not yet exists or could be improved.You should be willing to share this idea and not an idea that you’re not willing to share with othersAsk for volunteers to help you take your idea and conceptualize it into a low fidelity prototypeWork as a team onsite to produce the low fidelity prototypePresent your prototype to the audiencePlan with your team how best to build the app. What technology you will useWhat roles each other can playHow your team will work togetherCome back to BostonPHP (one month later) and present your progress and demo what you have so farDiscuss what technology your usingDiscuss how you were organizedWhat worked well, what didn’tWhat you would like to do next
  • 15. PHP SecurityCross-Site Request ForgeriesCross-Site ScriptingSession FixationCross-Site Session TransferPseudo-Random Number Generator AttacksSQL InjectionEmail InjectionPath DisclosurePath TraversalRequest Value FixationInvalid Character EncodingFile UploadsPassword HashingMagic Quotes and Register Globals- Cryptography Mistakes
  • 16. Tell us what you want!Learning seriesOpen sourceWeb developmentWeb designFrameworksApplication design…Vote now!meetup.com/bostonphp/ideas
  • 17. Boston PHP : Volunteers neededWebmasterLogisticsVideo cameramanTopic PresentersMore…
  • 19. Learn how to develop withCakePHPBoston PHP : Michael BourquePart I
  • 20. Why a framework?<?php echo “why?”; ?>
  • 21. What do most WebApps do?Display HTMLStatic pagesDynamic pagesFormsHandle form dataCRUD (Create, Read, Update, Delete)SecurityAuthenticationAuthorizationCachingEtc…
  • 23. Model, View, ControllerTried and true software design pattern that is:MaintainableModularAbility to rapidly prototype New features are easily addedSeparate design allows developers and designers to work simultaneouslySeparation allows developers to make changes in one part of the application without affecting others.
  • 25. File and Classname Conventions Filenames are underscored while classnames are CamelCasedSo if you have a class MyNiftyClass, then in Cake, the file should be named my_nifty_class.php
  • 26. Model and Database ConventionsModel classnames are singular and CamelCased.Table names corresponding to CakePHP models are plural and underscored.peopletasksusersField names with two or more words are underscored likefirst_nameForeign keys<singular_table_name>_id
  • 27. Controller ConventionsController classnames are plural, CamelCased, and end in Controller. PeopleController and LatestArticlesController are both examples of conventional controller names.
  • 28. View ConventionsView template files are named after the controller functions they display, in an underscored form. The getReady() function of the PeopleController class will look for a view template in /app/views/people/get_ready.ctp.
  • 30. Let’s get started : InstallationBasic knowledge of PHPBasic knowledge of DatabasesYou know how to create database tables with MySQLA working development environment on your LaptopApache 2.2.xMySQL 5.x PHP 5.3.x or 5.2.xPHPMyAdminIDE (Any good text editor like Notepad+, TextMate, Etc)CakePHP 1.2.xhttp://tinyurl.com/yekjbae
  • 31. What our simple app will doKeep track of tasksCreateReadUpdateDeleteCreatedModified
  • 32. Design the databaseDesign a DB to hold your dataAll tables should include an ID field
  • 33. Bake an appDesign a DB to hold your dataAll tables should include an ID field
  • 34. Add more ingredientsAdd more data and fieldsAdd usersAdd statusAdd validationAdd css, and change the layoutChange terminology
  • 35. Some TipsCreate multiple apps all coming from one CakePHP distributionModel::displayFieldScaffoldingLayout, and cssLocalization__(“string”,true);
  • 36. Thank youSpecial thank you to MITBEER and Food!See you at the next meetupContact me michael.bourque@gmail.com