VALID_NOT_EMPTY,
'body' => VALID_NOT_EMPTY
);
}
?>
==== Create Controllers for Models ====
* plural: posts_controller.php in app/controllers for model post.php
* functions created here are locations the user can visit
* example:
set('posts', $this->Post->findAll());
}
function view($id = null)
{
$this->Post->id = $id;
$this->set('post', $this->Post->read());
}
function add()
{
if(!empty($this->data))
{
if($this->Post->save($this->data))
{
$this->flash('Your post has been saved.','/posts');
}
}
}
function delete($id)
{
$this->Post->del($id);
$this->flash('The post with id: '.$id.' has been deleted.', '/posts');
}
function edit($id = null)
{
if(empty($this->data))
{
$this->Post->id = $id;
$this->data = $this->Post->read();
}
else
{
if($this->Post->save($this->data['Post']))
{
$this->flash('Your post has been updated.','/posts');
}
}
}
}
?>
==== Create Views ====
* create a folder in app/views as a plural of model: app/views/**posts**
* create views for each function in posts_controller.php
* files have exact name as function, with a .thtml extension
* examples:
// add.thtml
Add Post
// edit.thtml
Edit Post
// index.thtml
Blog posts
link("Add Post", "/posts/add") ?>
Id
Title
Created
link(
'Delete',
"/posts/delete/{$post['Post']['id']}",
null,
'Are you sure?'
)?>
link('Edit', "/posts/edit/".$post['Post']['id']); ?>
link($post['Post']['title'], "/posts/view/".$post['Post']['id']); ?>
// view.thtml
Created:
===== Static Views at the Root Level (Pages Controller) =====
* http://bakery.cakephp.org/articles/view/57
===== Installation (my custom install) =====
* download and extract the most current release: http://www.cakephp.org
* create a directory "cakephp" and place it in your /User/yourusername/Sites directory
* move every file and folder except "app" from the extracted archive into the "cakephp"
* move "app" to /Users/yourusername/Sites, and rename it to whatever you want your application to be titled (newApp)
* modify newApp/.htaccess
* after "RewriteEngine on", add a new line: "RewriteBase /~yourusername/newApp/"
* modify newApp/webroot/.htaccess
* after "RewriteEngine on", add a new line: "RewriteBase /~yourusername/newApp/"
* copy newApp/config/database.php.default to database.php
* modify database.php
* in the default section, set your appropriate database connection parameters
* for the initial setup, a tutorial for creating a blog was followed, and a basic table structure SQL statement was given
* modify newApp/webroot/index.php
* uncomment and modify the line: define('ROOT', DS.'Users'.DS.'yourusername'.DS.'Sites');
* comment out the default definition for ROOT
* uncomment and modify the line: define('APP_DIR', 'newApp');
* comment out the default definition for APP_DIR
* uncomment and modify the line: define('CAKE_CORE_INCLUDE_PATH', DS.'Users'.DS.'yourusername'.DS.'Sites'.DS.'cakephp');
* comment out the default definition for CAKE_CORE_INCLUDE_PATH
* verify that newApp/tmp is writable by your web server
==== Routes ====
* make the default index page for the application start at a different location
* edit config -> routes.php
...
// $Route->connect('/', array('controller' => 'pages', 'action' => 'display', 'home'));
$Route->connect('/', array('controller' => 'newlocation', 'action' => 'index'));
...
===== External Links =====
* Home Page - http://www.cakephp.org
* Manual - http://manual.cakephp.org
* http://thinkingphp.org/cakenews/
* http://cake-php.blogspot.com/