Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
CakePHP is an open source web application framework. It follows the Model-View-Controller (MVC) approach
and written in PHP. CakePHP makes building web applications simpler, faster and require less code.
This CakePHP tutorial will drive you to the right direction for getting started with CakePHP framework and
provide basic guide of CakePHP application development. Our step by step cakePHP tutorial helps beginners
for install and con᷉gures the CakePHP application. You can learn CakePHP from scratch with our easy
tutorial. Also we will develop a sample CakePHP project and it will help you for better understanding the
whole process.
Download CakePHP
At ᷉rst you need to download the stable release of CakePHP from Github – CakePHP Releases
(https://github.com/cakephp/cakephp/tags)
Basic Con�guration
Step1: Extract zip ᷉le and change folder name with your desire project name. For example cakephp/ .
Step2: Move the cakephp/ folder to the localhost server. Your directory setup looks like the following.
/cakephp
/app
http://www.codexworld.com/cakephptutorialbeginners/ 1/8
2/2/2017 CakePHP Tutorial for Beginners CodexWorld
/lib
/plugins
/vendors
.htaccess
index.php
README
Configure::write('Security.salt', 'DYhG93b0qyJfIxfs2guVoUubWwvniR2G0FgaC9mi');
After changes:
Configure::write('Security.salt', 'codexworld');
Configure::write('Security.cipherSeed', '76859309657453542496749683645');
After changes:
Configure::write('Security.cipherSeed', '123456');
public $default = array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'user',
'password' => 'password',
'database' => 'database_name',
'prefix' => '',
//'encoding' => 'utf8',
);
After changes:
http://www.codexworld.com/cakephptutorialbeginners/ 2/8
2/2/2017 CakePHP Tutorial for Beginners CodexWorld
public $default = array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'root',
'password' => '',
'database' => 'cakephp_db',
'prefix' => '',
//'encoding' => 'utf8',
);
http://www.codexworld.com/cakephptutorialbeginners/ 3/8
2/2/2017 CakePHP Tutorial for Beginners CodexWorld
Database Conventions – Table names corresponding to CakePHP models are plural and underscored.
( posts , latest_posts )
View Conventions – View template ᷉les are named after the controller functions they displayed, in an
underscored form. The postDetails() function of PostController class will look for a view template in
app/View/Post/post_details.ctp . The basic pattern is
app/View/Controller/underscored_function_name.ctp
Sample Project
In this sample project we will create a products table at the cakephp_db database. And we will insert some
data manually at this table. We will fetch and display products in our sample CakePHP project.
Table Creation & Data Insert: Following SQL is used for products table creation.
CREATE TABLE `products` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`description` text COLLATE utf8_unicode_ci NOT NULL,
`price` float(10,2) NOT NULL,
`created` datetime NOT NULL,
`modified` datetime NOT NULL,
`status` tinyint(1) NOT NULL DEFAULT '1',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
Once table creation is completed, insert some demo product data into this table.
Controller: Create a products controller with ProductsController class into the app/Controller/ directory.
Controller ᷉le and class name should be ProductsController.
<?php
class ProductsController extends AppController {
public function index() {
//fetch products resultset from databse
$products = $this‐>Product‐>find('all',array('fields'=>array('Product.id','Product.title','Pro
duct.description','Product.price','Product.created','Product.status'),'conditions'=>array('Product.sta
tus'=>1)));
//set products data and pass to the view
$this‐>set('products',$products);
}
}
View: Create view for display products in app/View/ directory. The controller class name is
ProductsController and method is index. For creating the index view, we need to Products/ directory and a
index.ctp ᷉le. So, the complete path of the view ᷉le ( index.ctp ) would be app/View/Products/index.ctp .
http://www.codexworld.com/cakephptutorialbeginners/ 4/8
2/2/2017 CakePHP Tutorial for Beginners CodexWorld
<ul>
<?php foreach($products as $row): ?>
<li>
<h1><?php echo $row['Product']['title']; ?></h1>
<h6>Price: <?php echo $row['Product']['price']; ?></h6>
<p><?php echo $row['Product']['description']; ?></p>
</li>
<?php endforeach; ?>
</ul>
Model: Model creation is not required until you need validation or associations.
Routes: Open the app/Config/routes.php ᷉le and set the default controller and action. Go to the line no.27
and change controller name from "pages" to "products" and action name from "display" to "index". If you
want to load the di芪�erent view for this action, you need to pass the view ᷉le name after the action element.
Router::connect('/', array('controller' => 'products', 'action' => 'index'));
Testing: Run the base URL at the browser, products list would displayed.
Our next post will explain about layout, database and advanced label of CakePHP. Please follow
CodexWorld for notify about the next post.
Previous Next
PayPal Standard Payment Gateway How to Upload File in PHP
(http://www.codexworld.com/paypal-standard-payment-
gateway-integration-php/)
39 Comments
Vijay Said...
http://www.codexworld.com/cakephptutorialbeginners/ 5/8
2/2/2017 CakePHP Tutorial for Beginners CodexWorld
Dhaval Said...
thank you ….
Ambili R Said...
Khetesh Said...
Sanjay Said...
Kishor Said...
Neel Said...
Kanaiya Said...
i need add ,edit and delete funationality tutorial of cake php 2.x version.please provide me soon.Please help me….
Mandeep Said...
please send the code of cakephp 3.2 for login,registration page with database connection and with routing. please if
possible…send on my mail mandeepkhaleriya.08@gmail.com.Please (mailto:mandeepkhaleriya.08@gmail.com.Please)
do n’t ignore. i have urgently need for that.please help me……
CodexWorld Said...
« PREV (http://www.codexworld.com/cakephp-tutorial-beginners/comment-page-1/#comments) 1
(http://www.codexworld.com/cakephp-tutorial-beginners/comment-page-1/#comments) 2
Leave a reply
Comment *
Post Comment
http://www.codexworld.com/cakephptutorialbeginners/ 7/8
2/2/2017 CakePHP Tutorial for Beginners CodexWorld
TRENDING TUTORIALS
Drag and Drop Reorder Images using jQuery, Ajax, PHP & MySQL (http://www.codexworld.com/drag-drop-images-
reorder-using-jquery-ajax-php-mysql/)
TOPICS
CakePHP CodeIgniter
(http://www.codexworld.com/tutorials/cakephp/) (http://www.codexworld.com/tutorials/codeigniter/)
GoogleAPI GoogleMap
(http://www.codexworld.com/tutorials/googleapi/) (http://www.codexworld.com/tutorials/googlemap/)
htaccess HTML&CSS
(http://www.codexworld.com/tutorials/htaccess/) (http://www.codexworld.com/tutorials/html-css/)
http://www.codexworld.com/cakephptutorialbeginners/ 8/8