|
本文实例讲述了基于CakePHP实现的简单博客系统。分享给大家供大家参考。具体实现方法如下:
PostsController.php文件:
set('posts',$this->Post->find('all'));
}
public function view($id=null)
{
$this->Post->id=$id;
$this->set('post',$this->Post->read());
}
public function add()
{
if($this->request->is("post"))
{
$this->Post->create();
if($this->Post->save($this->request->data))
{
$this->Session->setFlash("your post added!");
$this->redirect(array('action'=>'index'));
}
else
{
$this->Session->setFlash("unable to create post!");
}
}
}
public function edit($id=null)
{
$this->Post->id=$id;
if($this->request->is('get'))
{
$this->request->data = $this->Post->read();
}
else
{
if($this->Post->save($this->request->data))
{
$this->Session->setFlash('Your post has been updated.');
$this->redirect(array('action' => 'index'));
}
else
{
$this->Session->setFlash('Unable to update your post.');
}
}
}
public function delete($id) {
if ($this->request->is('get')) {
throw new MethodNotAllowedException();
}
if ($this->Post->delete($id)) {
$this->Session->setFlash('The post with id: ' . $id . ' has been deleted.');
$this->redirect(array('action' => 'index'));
}
}
}
?>
Post.php文件:
array(
'rule' => 'notEmpty'
),'body' => array(
'rule' => 'notEmpty'
)
);
}
?>
routes.php文件:
'pages','action' => 'display','home'));
Router::connect('/',array('controller' => 'posts','action' => 'index'));
/**
* ...and connect the rest of 'Pages' controller's urls.
*/
Router::connect('/pages/*','action' => 'display'));
/**
* Load all plugin routes. See the CakePlugin documentation on
* how to customize the loading of plugin routes.
*/
CakePlugin::routes();
/**
* Load the CakePHP default routes. Only remove this if you do not want to use
* the built-in default routes.
*/
require CAKE . 'Config' . DS . 'routes.php';
blog.sql文件如下:
--
-- Table structure for table posts
DROP TABLE IF EXISTS posts;
/!40101 SET @saved_cs_client = @@character_set_client /;
/!40101 SET character_set_client = utf8 /;
CREATE TABLE posts (
id int(10) unsigned NOT NULL AUTO_INCREMENT,title varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL,body text COLLATE utf8_unicode_ci,created datetime DEFAULT NULL,modified datetime DEFAULT NULL,PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
/!40101 SET character_set_client = @saved_cs_client /;
-- Dumping data for table posts
LOCK TABLES posts WRITE;
/!40000 ALTER TABLE posts DISABLE KEYS /;
INSERT INTO posts VALUES (1,'The title','This is the post body.','2012-11-01 15:43:41',NULL),(2,'A title once again','And the post body follows.',(3,'Title strikes back','This is really exciting! Not.',(4,'ggjjkhkhhk','7777777777777777777777777rn777777777777777777777777','2012-11-01 20:16:28','2012-11-01 20:16:28');
/!40000 ALTER TABLE posts ENABLE KEYS /;
UNLOCK TABLES;
-- Table structure for table schema_migrations
DROP TABLE IF EXISTS schema_migrations;
/!40101 SET @saved_cs_client = @@character_set_client /;
/!40101 SET character_set_client = utf8 /;
CREATE TABLE schema_migrations (
version varchar(255) COLLATE utf8_unicode_ci NOT NULL,UNIQUE KEY unique_schema_migrations (version)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
/!40101 SET character_set_client = @saved_cs_client /;
-- Dumping data for table schema_migrations
LOCK TABLES schema_migrations WRITE;
/!40000 ALTER TABLE schema_migrations DISABLE KEYS /;
INSERT INTO schema_migrations VALUES ('20121013024711'),('20121013030850');
/!40000 ALTER TABLE schema_migrations ENABLE KEYS /;
UNLOCK TABLES;
/!40103 SET TIME_ZONE=@OLD_TIME_ZONE /;
/!40101 SET SQL_MODE=@OLD_SQL_MODE /;
/!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS /;
/!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS /;
/!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT /;
/!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS /;
/!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION /;
/!40111 SET SQL_NOTES=@OLD_SQL_NOTES /;
-- Dump completed on 2012-11-01 16:41:46
希望本文所述对大家的php程序设计有所帮助。 (编辑:安卓应用网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|