首页 > 编程 > PHP > 正文

基于CakePHP实现的简单博客系统实例

2020-03-22 18:39:06
字体:
来源:转载
供稿:网友
本文实例讲述了基于CakePHP实现的简单博客系统。分享给大家供大家参考。具体实现方法如下:PostsController.php文件:html' target='_blank'>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'));
* 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, Cake Software Foundation, 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/*', array('controller' = '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文件如下:-- 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.','2012-11-01 15:43:41',NULL),(3,'Title strikes back','This is really exciting! Not.','2012-11-01 15:43:41',NULL),(4,'ggjjkhkhhk','7777777777777777777777777/r/n777777777777777777777777','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教程

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表