惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

F
Full Disclosure
WordPress大学
WordPress大学
小众软件
小众软件
Cloudbric
Cloudbric
AWS News Blog
AWS News Blog
腾讯CDC
量子位
人人都是产品经理
人人都是产品经理
大猫的无限游戏
大猫的无限游戏
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
V
Vulnerabilities – Threatpost
Scott Helme
Scott Helme
Hugging Face - Blog
Hugging Face - Blog
博客园_首页
C
CXSECURITY Database RSS Feed - CXSecurity.com
The Hacker News
The Hacker News
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
IT之家
IT之家
Jina AI
Jina AI
Attack and Defense Labs
Attack and Defense Labs
S
SegmentFault 最新的问题
Simon Willison's Weblog
Simon Willison's Weblog
The Cloudflare Blog
阮一峰的网络日志
阮一峰的网络日志
T
Tailwind CSS Blog
Last Week in AI
Last Week in AI
博客园 - 【当耐特】
Google Online Security Blog
Google Online Security Blog
美团技术团队
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
Visual Studio Blog
罗磊的独立博客
L
LINUX DO - 最新话题
博客园 - Franky
博客园 - 叶小钗
Apple Machine Learning Research
Apple Machine Learning Research
The Last Watchdog
The Last Watchdog
J
Java Code Geeks
AI
AI
C
Cisco Blogs
酷 壳 – CoolShell
酷 壳 – CoolShell
C
Cyber Attacks, Cyber Crime and Cyber Security
Cisco Talos Blog
Cisco Talos Blog
博客园 - 三生石上(FineUI控件)
雷峰网
雷峰网
Help Net Security
Help Net Security
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
云风的 BLOG
云风的 BLOG
I
Intezer
S
Securelist

博客园 - ruinet

WCF通用服务请求类 使用MVP模式实现B/S和C/S平台的功能通用 WCF中使用扩展行为来验证连接的用户 Microsoft.Practices.Unity依赖注入使用实例 简洁的Asp.net菜单控件 Windows Mobile无线打印的实现 使用HTML,CSS快速导出数据到Excel 软件技术网站精选 升级Sql Server 2000到Sql Server 2005中要注意的问题 asp.net web开发综合技能 编写第一个Silverlight程序 Saas学习 在Windows Mobile上控制输入法 - ruinet - 博客园 在Windows Mobile创建桌面快捷方式 在仿真设备中使用主机网络 CSS,JavaSript,Html实用小代码 重启PocketPC移动设备 使用Ajax控件引发性能问题 智能移动项目打包发布经验交流
CakePHP架构入门
ruinet · 2009-06-14 · via 博客园 - ruinet

(一)简介

   本文主要介绍CakePHP架构,及怎样安装配置使用此架构入门进行开发。

(二)需求

(1)了解基本PHP 代码。

(2)已配置Apache+MySQL+PHP的开发环境。

(三)正文

(1) CakePHP介绍

CakePHP是一个基于PHP,免费且开源的MVC框架。它相对其它一些PHP架构(如zend framework)更简单,可以使使用着更快速且不失灵活性地创建网络应用程序。因此对于普通初学者都能容易上手。

CakePHP有以下特点:

拥有既友好又活跃的社区
灵活的MIT 许可证
兼容 PHP4 和 PHP5
数据库交互运用了 CRUD
应用程序脚手架
代码自动产生(代码产生器)
MVC 体系架构
清晰,干净的高度自定义的URLs和路由请求分发器
内建validation验证
快速灵活的模板机制 (PHP syntax, with helpers)
拥有AJAX, JavaScript, HTML表单和更多的视图助手工具
邮件、Cookie、安全、会话(Session),和请求处理的组件
灵活的ACL访问控制机制
数据清理
灵活的视图缓存Caching
本地化
可在任何子目录里工作,很少甚至不需要更改任何 Apache 相关配置

(2) 配置开发

http://cakephp.org/下载 CakePHP,当前的最新版本是:1.2.3.8166

下载后解压到服务器的根目录下,如:/wwwRoot/First_App,同时可以改变根目录直接指向First_App\App\WebRoot,即如:DocumentRoot "D:\PHP\wwwRoot\First_App\app\webroot"
重启Apache服务。浏览:http://localhost/

如果看到和此相同的页面,说明你的Apache服务配置正确。同时可以看到页面上的4个提示信息,黄色的是你必须配置的。
配置如下:
   1。在First_App\app\config\Core.php找到 Configure::write('Security.salt', 'DYhG93b0qyJfIxfs2guVoUubWwvniR2G0FgaC9mi');
将后面的键随便改成40个左右的任意字符串就可以了。
   2。将文件First_App\app\config\database.php.default的文件名改为:database.php,更改里面的数据库连接,可删除test的配置,最后的配置如下:
class DATABASE_CONFIG {

 var $default = array(
  'driver' => 'mysql',
  'persistent' => false,
  'host' => 'localhost',
  'login' => 'root',
  'password' => '123',
  'database' => 'cake',
  'prefix' => '',
 );
}

3.如果First_App\app\tmp不是可写,还需将改为可写。

更改后保存,再次浏览http://localhost/,你会发现上面的黄色提示全变成绿色。

4.路由配置,此才是整个配置的关键保证下面能否正确进行的关键。
  路由用来映射URL和控制器的action
 URL 样式的默认路由: 
 http://example.com/controller/action/param1/param2/param3

修改httpd.conf开启mod_rewrite

1去掉#LoadModule rewrite_module modules/mod_rewrite.so前的#号

2同时将AllowOverride none 改为AllowOverride all

如:

 <Directory />
    Options FollowSymLinks
    AllowOverride all
</Directory>
上面是将所有网站目录都设为Allowoverride all,如果为all,apache服务将.htaccess来控制路由,设为none,将不予处理目录下.htaccess中的路由

可以指定单独目录进行路由,需在<Directory >加入要指定的目录。如:

<Directory "D:/PHP/wwwRoot/First_App">
    AllowOverride all
</Directory>

更改httpd.conf后需重启Apache服务。

(3) 使用架构

如果配置正确后,就可以加入自己的代码。

   3.1 创建数据库表

Create Table Items

  id 
int (11) unsigned auto_increment,
  name 
varchar(200),
  
text varchar(200),
  CreateTime 
timestamp default current_timeStamp,
  
primary key (id)
)
insert into Items(name,textvalues('Item 1','Item 1 content');

3.2创建Model:First_App\app\models\Item.php

<?php
create Item 
extends AppModel{
    
var $name = 'Item';
}
?>

3.3创建Controller:First_App\app\controllers\Items_Controller.php

<?php
 
class ItemsController extends AppController{
   
var $name = 'Items';
   
var $scaffold;
 }
?>

3.4浏览:http://localhost/Items,后的结果如下:

 

本文只从快速实现CakePHP的来讲的,具体开发大家可以参考下面的一些资料。

(四)相关资料

CakePHP官方网站

CakePHP中文手册

三种常用框架 -- Zend、symfony、CakePHP比较

developerworks PHP 资源中心

中文cakephp1.2视频教程

官方视频教程(英文,quicktime 格式)

使用 CakePHP 快速打造 Web 站点