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

推荐订阅源

V
V2EX
博客园 - 【当耐特】
Cyberwarzone
Cyberwarzone
B
Blog
U
Unit 42
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
WordPress大学
WordPress大学
美团技术团队
Hugging Face - Blog
Hugging Face - Blog
大猫的无限游戏
大猫的无限游戏
博客园 - 聂微东
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
博客园 - 叶小钗
F
Full Disclosure
Microsoft Azure Blog
Microsoft Azure Blog
Recorded Future
Recorded Future
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
小众软件
小众软件
云风的 BLOG
云风的 BLOG
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Cisco Talos Blog
Cisco Talos Blog
阮一峰的网络日志
阮一峰的网络日志
C
CERT Recently Published Vulnerability Notes
F
Fortinet All Blogs
C
Cyber Attacks, Cyber Crime and Cyber Security
C
Cisco Blogs
The Hacker News
The Hacker News
Know Your Adversary
Know Your Adversary
S
Securelist
S
Schneier on Security
P
Privacy International News Feed
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
AWS News Blog
AWS News Blog
J
Java Code Geeks
T
The Exploit Database - CXSecurity.com
The Last Watchdog
The Last Watchdog
S
Secure Thoughts
C
Cybersecurity and Infrastructure Security Agency CISA
H
Heimdal Security Blog
博客园 - Franky
P
Palo Alto Networks Blog
PCI Perspectives
PCI Perspectives
T
Tailwind CSS Blog
IT之家
IT之家
Engineering at Meta
Engineering at Meta
Latest news
Latest news
P
Proofpoint News Feed
量子位
Apple Machine Learning Research
Apple Machine Learning Research
K
Kaspersky official blog

博客园 - 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 站点