PHP编程:基于CakePHP实现的简单博客系统实例
发布时间:2020-12-13 02:42:36 所属栏目:PHP教程 来源:网络整理
导读:《基于CakePHP实现的简单博客系统实例》要点: 本文介绍了基于CakePHP实现的简单博客系统实例,希望对您有用。如果有疑问,可以联系我们。 PHP实例 本篇章节讲解基于CakePHP实现的简单博客系统.供大家参考研究.具体实现办法如下: PHP实例 PostsCont
《基于CakePHP实现的简单博客系统实例》要点: PHP实例本篇章节讲解基于CakePHP实现的简单博客系统.分享给大家供大家参考.具体实现办法如下: PHP实例PostsController.php文件: PHP实例
<?php
class PostsController extends AppController {
public $helpers = array('Html','Form','Session');
public $components = array('Session');
public function index()
{
$this->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'));
}
}
}
?>
PHP实例Post.php文件: PHP实例
<?php
class Post extends AppModel {
public $validate = array(
'title' => array(
'rule' => 'notEmpty'
),'body' => array(
'rule' => 'notEmpty'
)
);
}
?>
PHP实例routes.php文件: PHP实例
<?php
/**
* Routes configuration
*
* In this file,you set up routes to your controllers and their actions.
* Routes are very important mechanism that allows you to freely connect
* different urls to chosen controllers and their actions (functions).
*
* PHP 5
*
* CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
* Copyright 2005-2012,Cake Software Foundation,Inc. (http://cakefoundation.org)
*
* Licensed under The MIT License
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright 2005-2012,Inc. (http://cakefoundation.org)
* @link http://cakephp.org CakePHP(tm) Project
* @package app.Config
* @since CakePHP(tm) v 0.2.9
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
*/
/**
* Here,we are connecting '/' (base path) to controller called 'Pages',* its action called 'display',and we pass a param to select the view file
* to use (in this case,/app/View/Pages/home.ctp)...
*/
//Router::connect('/',array('controller' => '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';
PHP实例blog.sql文件如下: PHP实例
-- MySQL dump 10.13 Distrib 5.5.19,for Win64 (x86)
--
-- Host: localhost Database: facebook
-- ------------------------------------------------------
-- Server version 5.5.19
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS,UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS,FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE,SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES,SQL_NOTES=0 */;
--
-- 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实例希望本文所述对大家的php程序设计有所赞助. 欢迎参与《基于CakePHP实现的简单博客系统实例》讨论,分享您的想法,编程之家 52php.cn为您提供专业教程。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |