Your SlideShare is downloading. ×
Learn How To Develop With CakePHP
Learn How To Develop With CakePHP
Learn How To Develop With CakePHP
Learn How To Develop With CakePHP
Learn How To Develop With CakePHP
Learn How To Develop With CakePHP
Learn How To Develop With CakePHP
Learn How To Develop With CakePHP
Learn How To Develop With CakePHP
Learn How To Develop With CakePHP
Learn How To Develop With CakePHP
Learn How To Develop With CakePHP
Learn How To Develop With CakePHP
Learn How To Develop With CakePHP
Learn How To Develop With CakePHP
Learn How To Develop With CakePHP
Learn How To Develop With CakePHP
Learn How To Develop With CakePHP
Learn How To Develop With CakePHP
Learn How To Develop With CakePHP
Learn How To Develop With CakePHP
Learn How To Develop With CakePHP
Learn How To Develop With CakePHP
Learn How To Develop With CakePHP
Learn How To Develop With CakePHP
Learn How To Develop With CakePHP
Learn How To Develop With CakePHP
Learn How To Develop With CakePHP
Learn How To Develop With CakePHP
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Learn How To Develop With CakePHP

8,332

Published on

If you don't already use a PHP framework then this is for you. CakePHP is one of the more popular frameworks and is similar to RubyOnRails. …

If you don't already use a PHP framework then this is for you. CakePHP is one of the more popular frameworks and is similar to RubyOnRails.

I will start you off at the very beginning as though you know nothing about CakePHP.

Published in: Technology
1 Comment
1 Like
Statistics
Notes
No Downloads
Views
Total Views
8,332
On Slideshare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
207
Comments
1
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Learn how to develop withCakePHP
    Boston PHP : Michael Bourque
    Part I
    Feb 17th, 2010
  • 2. Welcome to Boston PHP
    Started in 2002
    Open styled meetings
    66 Meetings so far
    600 Members strong
    Location, Location, Location
    Boston, Cambridge, Norwell, Salem, Somerville, Quincy
    MIT, Microsoft, BU
    meetup.com/bostonphp
  • 3. Boston PHP Past Meetings
    Learn how to create a FaceBook app
    SHOW n' TELL night
    The ultimate PHP "date night"... Debugging and a movie
    Framework Bake off...
    Get Smart - Use Smarty!
    Lessons from my.barackobama.com
    jQuery and the Last Mile
    PHP IDE Bake-Off
    Mediawiki in production
    • Flex & the ZendFramework
    • 4. An introduction to jQuery
    • 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.
    • 9. What is Agile Scrum?
    • 10. Building the PHP-stack for the enterprise
    • 11. Object-Relational Mapping (ORM) in action
  • March 10: Cake PHP part II
    Join 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 jQuery
    What is jQuery
    How to install
    Syntax
    Review of the documentation
    Practical uses of jQuery in your app
    Light-box dialogs
    Form validation
    Effects such as Animation, Fading, Easing, Etc
    Ajax
    Page blocking
    Progressive enhancements
    How to use jQuery plugins
    jQuery UI
    More...
  • 13. Design an app without writing a single line of code
    How to think about your app and start to experiment with your ideas
    Prototyping tools
    Prototyping single pages and user interactions
    Creating a linkable prototype that looks almost like a working app
    Exporting your prototype to the web for remote testing and design feedback
    Paper prototyping and usability testing
    Designing a great user experience with interaction design
  • 14. Startup/Hack Month
    Come 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 others
    Ask for volunteers to help you take your idea and conceptualize it into a low fidelity prototype
    Work as a team onsite to produce the low fidelity prototype
    Present your prototype to the audience
    Plan with your team how best to build the app.
    What technology you will use
    What roles each other can play
    How your team will work together
    Come back to BostonPHP (one month later) and present your progress and demo what you have so far
    Discuss what technology your using
    Discuss how you were organized
    What worked well, what didn’t
    What you would like to do next
  • 15. PHP Security
    Cross-Site Request Forgeries
    Cross-Site Scripting
    Session Fixation
    Cross-Site Session Transfer
    Pseudo-Random Number Generator Attacks
    SQL Injection
    Email Injection
    Path Disclosure
    Path Traversal
    Request Value Fixation
    Invalid Character Encoding
    File Uploads
    Password Hashing
    Magic Quotes and Register Globals- Cryptography Mistakes
  • 16. Tell us what you want!
    Learning series
    Open source
    Web development
    Web design
    Frameworks
    Application design

    Vote now!meetup.com/bostonphp/ideas
  • 17. Boston PHP : Volunteers needed
    Webmaster
    Logistics
    Video cameraman
    Topic Presenters
    More…
  • 18. Boston PHP : Free
  • 19. Learn how to develop withCakePHP
    Boston PHP : Michael Bourque
    Part I
  • 20. Why a framework?
    <?php
    echo “why?”;
    ?>
  • 21. What do most WebApps do?
    Display HTML
    Static pages
    Dynamic pages
    Forms
    Handle form data
    CRUD (Create, Read, Update, Delete)
    Security
    Authentication
    Authorization
    Caching
    Etc…
  • 22. PHP Frameworks?
  • 23. Model, View, Controller
    Tried and true software design pattern that is:
    Maintainable
    Modular
    Ability to rapidly prototype
    New features are easily added
    Separate design allows developers and designers to work simultaneously
    Separation allows developers to make changes in one part of the application without affecting others.
  • 24. Cake PHP Anatomy
  • 25. File and Classname Conventions
    Filenames are underscored while classnames are CamelCased
    So if you have a class MyNiftyClass, then in Cake, the file should be named my_nifty_class.php
  • 26. Model and Database Conventions
    Model classnames are singular and CamelCased.
    Table names corresponding to CakePHP models are plural and underscored.
    people
    tasks
    users
    Field names with two or more words are underscored like
    first_name
    Foreign keys
    <singular_table_name>_id
  • 27. Controller Conventions
    Controller classnames are plural, CamelCased, and end in Controller.
    PeopleController and LatestArticlesController are both examples of conventional controller names.
  • 28. View Conventions
    View 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.
  • 29. Documentation : The Bakery
  • 30. Let’s get started : Installation
    Basic knowledge of PHP
    Basic knowledge of Databases
    You know how to create database tables with MySQL
    A working development environment on your Laptop
    Apache 2.2.x
    MySQL 5.x
    PHP 5.3.x or 5.2.x
    PHPMyAdmin
    IDE (Any good text editor like Notepad+, TextMate, Etc)
    CakePHP 1.2.x
    http://tinyurl.com/yekjbae
  • 31. What our simple app will do
    Keep track of tasks
    Create
    Read
    Update
    Delete
    Created
    Modified
  • 32. Design the database
    Design a DB to hold your data
    All tables should include an ID field
  • 33. Bake an app
    Design a DB to hold your data
    All tables should include an ID field
  • 34. Add more ingredients
    Add more data and fields
    Add users
    Add status
    Add validation
    Add css, and change the layout
    Change terminology
  • 35. Some Tips
    Create multiple apps all coming from one CakePHP distribution
    Model::displayField
    Scaffolding
    Layout, and css
    Localization
    __(“string”,true);
  • 36. Thank you
    Special thank you to MIT
    BEER and Food!
    See you at the next meetup
    Contact me
    michael.bourque@gmail.com

×