gpt4 book ai didi

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

转载 作者:qq735679552 更新时间:2022-09-27 22:32:09 24 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章基于CakePHP实现的简单博客系统实例由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

本文实例讲述了基于CakePHP实现的简单博客系统。分享给大家供大家参考。具体实现方法如下:

PostsController.php文件:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<?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' ));
     }
  }
}
?>

Post.php文件:

?
1
2
3
4
5
6
7
8
9
10
11
12
<?php
class Post extends AppModel {
public $validate = array (
  'title' => array (
  'rule' => 'notEmpty'
),
  'body' => array (
  'rule' => 'notEmpty'
)
);
}
?>

routes.php文件:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?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, 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文件如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
-- 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程序设计有所帮助.

最后此篇关于基于CakePHP实现的简单博客系统实例的文章就讲到这里了,如果你想了解更多关于基于CakePHP实现的简单博客系统实例的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com