What is CakePHP? A framework for building PHP websites and applications.
What does that mean? Its a bunch of PHP code which provides commonly used functionality so you don’t have to create it your self.
How does CakePHP do that? Library like reusable code Convention over configuration MVC for structure ORM(ish) for database mapping
How do I use it? Download the code Extract to your project folder Create your Database table Model Controller View (or just get started with CRUD scaffolding)
MVC Model, database mapping View, what the user sees Controller, the business logic http://book.cakephp.org/view/10/Understanding-Model-View-Controller >>
ORM Cake PHP uses an Ruby on Rails like Active Record system to map models to objects Not Cake’s strongest feature but pretty good http://en.wikipedia.org/wiki/Object-relational_mapping >>
The 15 minute Blog Install CakePHP Create the Database Create the Model Create the Controller Create Views >>
URL’s and SEO Cake uses mod_rewrite to provide readable URL’s www.domain.com/controller/action/param1 This is controlled via .htacess files Can be turned off if .htacess is not read
Routing Routing is a feature that maps URLs to controller actions. You can use Route configurations to define how your website maps your web addresses Example Router::connect('/admin', array('controller' => 'pages', 'action' => 'index', 'admin' => true)); Maps http://website.com/admin to the admin_index action in the pages controller
Components Access Control Lists (Acl) Authentication Cookies Email Request Handling (getClientIP(), getReferrer(), isMobile()) Security Component Sessions A wrapper for $_SESSION + added methods
Behaviours Acl integrate a model with your ACL system Containable Improvement on recursive finds Translate Table contains translations and the language is set in either the Model or Controller Tree Assists in maintaining the structure of the site
Helpers Ajax Cache Form Html Javascript Number
Paginator
RSS
Session
Text
Time
XML
Utility Libraries
Security methods
Hashing, encrypting
Cache
HttpSocket
To fetch content
Inflector Slug, pluralize, tableize String methods uuid, insert XML parsing Set Array management
Console Applications Code generation Schema management and migrations
Testing CakePHP integrates SimpleTest Unit testing and Web testing Test-driven development
A few Cake PHP websites
More websites
More websites
More websites
The big questions Performance Speed Load tolerance Security Stability and uptime
Room for improvements? Debugging tools Documentation is reasonable Integrated version control Commercial support for enterprise deployment >>
0 comments
Post a comment