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

Learn How To Develop With CakePHP

  • 1.
    Learn how todevelop withCakePHPBoston PHP : Michael BourquePart IFeb 17th, 2010
  • 2.
    Welcome to BostonPHPStarted in 2002Open styled meetings66 Meetings so far600 Members strongLocation, Location, LocationBoston, Cambridge, Norwell, Salem, Somerville, QuincyMIT, Microsoft, BUmeetup.com/bostonphp
  • 3.
    Boston PHP PastMeetingsLearn 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
  • 4.
  • 5.
    The mystery ofCSS and Design
  • 6.
    Choosing an OSSlicense to match your business model
  • 7.
    Developing, pricing &delivering OSS applications
  • 8.
    How to getyour OSS venture off the ground.
  • 9.
  • 10.
    Building the PHP-stackfor 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: Enhanceyour 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 appwithout 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 tothe 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 RequestForgeriesCross-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 whatyou want!Learning seriesOpen sourceWeb developmentWeb designFrameworksApplication design…Vote now!meetup.com/bostonphp/ideas
  • 17.
    Boston PHP :Volunteers neededWebmasterLogisticsVideo cameramanTopic PresentersMore…
  • 18.
  • 19.
    Learn how todevelop withCakePHPBoston PHP : Michael BourquePart I
  • 20.
  • 21.
    What do mostWebApps do?Display HTMLStatic pagesDynamic pagesFormsHandle form dataCRUD (Create, Read, Update, Delete)SecurityAuthenticationAuthorizationCachingEtc…
  • 22.
  • 23.
    Model, View, ControllerTriedand 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.
  • 24.
  • 25.
    File and ClassnameConventions 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 DatabaseConventionsModel 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 classnamesare plural, CamelCased, and end in Controller. PeopleController and LatestArticlesController are both examples of conventional controller names.
  • 28.
    View ConventionsView templatefiles 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.
  • 29.