Hello Readers, Here is a small application in CakePHP to add users through which we can Understand "How MVC Architecture works" ? For better understanding of MVC Architecture, I will manually create Model, Controller and Views.
First, You have to create a table in DB to store user data.
CREATE TABLE `users` (
`id` INTEGER(11) NOT NULL AUTO_INCREMENT,
`name` VARCHAR(255) NOT NULL,
PRIMARY KEY (`id`)
)
Table names are in plural. Since, it is important to follow CakePHP naming conventions. In the previous tutorial, I explained some basics about CakePHP naming Conventions.
MODEL:
Now, i will create a model for above users table. CakePHP models are located at (Path: /app/models folder). create a file called user.php & paste the following code into it.
<?php
class User extends AppModel {
var $name = 'User';
}
?>
$name = this variable will be used in our Controller to access the model’s functions.
CONTROLLER:
CakePHP controllers are located at (Path: /app/controllers folder). create a file called user_controller.php & pase the following code into it.
<?php
class UsersController extends AppController {
var $name = 'User';
function index() {
$this->set('users', $this->User->find('all'));
}
function add() {
if (!empty($this->data)) {
if ($this->User->save($this->data)) {
$this->Session->setFlash('User has been saved.');
$this->redirect(array('action' => 'index'));
}
}
}
?>
VIEW:
CakePHP view files are stored at /app/views/folder_name correspond to controller (we will have to create a folder named users in this case). Create a file index.ctp in /app/views/users folder & Copy/paste the following code into index.ctp
<h1>Users</h1>
<table>
<tr>
<th>Id</th>
<th>Title</th>
</tr>
<?php foreach ($users as $user): ?>
<tr>
<td><?php echo $user['User']['id']; ?></td>
<td>
<?php echo $html->link($user['User']['name'],
array('controller' => 'users', 'action' => 'view', $user['User']['id'])); ?>
</td>
</tr>
<?php endforeach; ?>
</table>
To test what you have done, Go to command terminal-> Run the server.
then, Open web browser & hit the following URL http://localhost/cake/users)
0 Comment(s)