- 浏览: 140509 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
puyancheng1988:
哥们儿,我用的jfreechart在linux服务器上生成的图 ...
JFreeChart图表 -
soujava:
...
Linux下Oracle自动备份脚本 -
skylikeblue:
...
基于JAVA实现的手机收发短消息系统
第三章 安装CakePHP
1,Requirements
你必须有一个服务器,具备程序和库来运行CakePHP
1.1 服务器的要求
1.HTTP服务端(比如Apache),下面的选项要打开:sessions, mod_rewrite(虽然不是必须但是建议有)
2.PH<chsdate w:st="on" year="1899" month="12" day="30" islunardate="False" isrocdate="False">P 4.3.2</chsdate>或者更高版本,CakePHP在PHP4和5下都能很好工作
3.数据库引擎(现在已经支持MySQL,PostgreSQL and a wrapper for ADODB)
2.安装CakePHP
2.1 得到最新的稳定版本
www.cakephp.org 点击Downloads>Release
2.2 解压缩
放置到根目录,解压缩,有两种安装方式,开发方式安装使得你可以容易的在一个域名下面察看许多CakePHP程序,产品安装方式使得一个域名下面只有一个程序
3. 建立CakePHP
第一种方法在开发环境下比较合适,但是并不安全。第二种方法更安全可以安装在最终产品的环境下
3.1 开发方式安装
为了开发,我们可以将整个Cake的安装目录放到特殊的DocumentRoot下,如下:
/cake
/.htaccess
/app/
/cake/
/index.php
/tmp/
/vendors
这种安装wwwroot当作整个网站的目录,所以你的URL如下显示
如果你使用了mod_rewrite, 你的URLs会变成下面的这种形式
4. 配置Apache和mod_rewrite
当CakePHP没有mod_rewrite支持时候,我们发现许多用户由于不能完美运行他们的系统而苦恼。下面是一些可能需要尝试并且使之正确运行的事情:
● 确定 .htaccess的override是允许的:在你的httpd.conf中,你需要有一段代码,在你的服务器上每个目录。确定AllowOverride对当前的目录设置成为All
● 确定你修改的是系统的httpd.conf,而不是用户或者特定站点的httpd.conf
● 在某些情况下,你可能得到一份缺少 .htaccess文件的CakePHP,这可能是因为某些系统把 .开头的文件当作隐藏文件就不拷贝。确定你拷贝的文件来中包含.htaccess
● 确定你正确上传mod_rewrite。你可以查看一下 httpd.conf中类似于LoadModule rewrite_module libexec/httpd/mod_rewrite.so 和AddModulemod_rewrite.c
5. 确定CakePHP正确工作
现在,我们实际查看一下。根据你选择不同的安装方式,你应该将你的浏览器的URL指向 http://www.example.com或者http://www.example.com/cake.这时,你会看到CakePHP的默认目录,以及一条数据库连接状态的消息。
恭喜!你现在已经可以创建你的第一个基于Cake的程序了。如果你现在什么都没有看到或者受到一条错误信息,可以到http://wiki.cakephp.org或者#cakephp on irc.freenode.net寻找更多的帮助。
第四章 配置
1. 数据库配置
app/config/database.php文件是数据库配置文件。默认安装后并没有database.php文件,所以你需要拷贝database.php.default到database.php. 之后,你可以看到如下:
例4.1
'connect'=>'mysql_pconnect',
'host'=>'localhost',
'login'=>'user',
'password'=>'password',
'database'=>'project_name');
根据你的数据库连接信息替换上面的配置
CakePHP支持下面的数据库驱动
postgres
sqlite
pear-drivername(soyoumightenterpear-mysql,forexample)
adodb-drivername
$default 连接中的connect key允许你设置是否需要持久连接数据库,请仔细阅读database.php.default文件中的注释,以配置你的数据库连接类型。
你的数据库中的表也应该遵循下面的命名规则:
● cake使用的表名(Table name)应该有英文的复数形式组成,比如users, authors, articles. 注意,对应的model是单数形式
● 所有的表 都必须有一个主键叫做 id
● 如果你需要关联tables,使用外键比如 article_id 。表的名字是单数,必须是小写,比如id
● 另外,最好遵从下面的命名规则以便更方便的使用某些功能
Include a ‘created’ 列
Include a ‘modified’列
你也可能注意到了database.php文件中有一个$test的连接,填上这个配置(或者添加其他类似的配置文件),在你使用的时候将下面的代码
添加到你的一个models中
2. 全局配置
CakePHP的全局配置可以在/app/config/core.php找到。尽管我们确实不喜欢配置文件,但是配置确实很难做。在这个文件中你可以修改一些,每一项设置都可以在core.php的注释中找到。
DEBUG: 设置这个变量不同的值可以帮助你在运行文件的时候debug你的程序。江这个值设成不同的非0值,可以使得Cake打印出SQL语句并且阻止程序下一步进行(原文:Specifiying this setting to a non-zero value will force Cake to print out SQL statements and stop flash messages from forwarding.)
CAKE_SESSION_COOKIE:在你的Cake应用中,这个变量可以设置成为保存用户session的cookie名字
CAKE_SECURITY:这个变量不同的值达标不同的sessions检查等级。Cake创建新的session,删除旧的session都基于这个变量。下面是可能的值:
high: session十分钟后失效
medium: session 二十分钟后失效
low: session 三十分钟后失效
CAKE_SESSION_SAVE: 设置如何保存session。下面是可能的值
cake: 保存在tmp/目录下
php: 根据php.ini中的设置保存
database: 被保存到默认(现在还没有实现,以后继续完善)
3.路径设置
‘Routing’是类似于mod_rewrite的 pared-down pure-PHP(机制),可以帮助将URL影射到 controller/action/params. Cake 添加这个可以帮助我们更好的实现URL转化并使得我们可以脱离mod_rewrite的要求。然而使用mod_rewrite,使得我们的address bar显得更加整洁。
Routes是映射URLs到特定的controllers和actions的独立规则。Routes被配置在app/config/routes.php文件中,设置形式如下:
例4.2 Route Pattern
$Route->connect(
'URL',
array('controller'=>'controllername',
'action'=>'actionname','firstparam')
);
?>
在这里
URL是Cake的URL你想要映射的(URL is the Cake URL you wish to map)
controllername 是你想要调用的controller的名字
actionname 是你想要调用controller的action的名字
firstparam是特定的action的第一个参数
下面的这个例子将/blog下面的所有URL连接到了BlogController. 默认的action是BlogController::index()
<shapetype id="_x0000_t202" path="m,l,21600r21600,l21600,xe" o:spt="202" coordsize="21600,21600"><stroke joinstyle="miter"></stroke><path o:connecttype="rect" gradientshapeok="t"></path></shapetype>
例4.3 Route Example
一个URL 比如 /blog/history/05/june 处理如下: 例4.4 Route Handing in a Controller URL中的’history’被匹配到 Blog route中的:action.( The 'history' from the URL was matched by :action from the Blog's route.) URL中被*匹配的元素被传递到活动的controller的处理方法,这里是$year和$month。比如这个URL /blog/history/05, 仅仅传递一个参数05给history() 接下来的例子是默认的CakePHP route,指向 PagesController::display(‘home’).其中home是一个view,位于/app/views/pages/home.thtml
例4.5 Setting the Default Route
classBlogControllerextendsAppController
{
functionhistory($year,$month=null)
{
//..displayappropriatecontent
}
}
?>
$Route->connect('/*',array('controller'=>'Pages','action'=>'display','home'));
?>
$Route->connect('/blog/:action/*',array('controller'=>'Blog','action'=>'index'));
?>
产品方式安装
3.2
为了实现产品方式的安装,你必须用于修改服务器上网站根目录的权限,修改根目录,使得整个域像只有一个CakePHP程序
安装后的程序结构如下
/.htaccess
/app/
/config/
/conftrollers
/index.php
/models
/plugins
/views
/webroot<--ThisshouldbeyournewDocumentRoot
/cake/
/index.php
/tmp/
/vendors
例3.1 建议的httpd.conf
在这种配置下,webroot就当作了网站的根目录,你的URL就可能像下面这样
如果你使用了mod_rewrite,你的URL就会类似于下面的
一些共享主机的用户可能没有权限通过修改http.conf来改变DocumnentRoot来指向他们的产品安装。在这种情况下,用户可以安装下面的方式,修改CakePHP的结构。Cake安装在 /path_to_cake_install,文件目录(不可以修改)指向/public_html
/app
/cake
/index.php
/models
/plugins
/views
/webroot
/public_html(=contentsof/app/webroot)
/.htaccess
/css
/css.php
/favicon.ico
/files
/img
/index.php
/js
实际上,你将Cake的/app/webroot文件夹的内容拷贝到你已经存在的DocumentRoot。为了告诉Cake你的webroot文件在哪里,将下面几行田间到你DocumentRoot文件夹下面的index.php中(针对上面的例子就是/public_html/index.php)
define('APP_DIR','app');
define('WEBROOT_DIR','/public_html');
发表评论
-
服务器端进行表单验证是很需要的
2008-09-28 09:25 821在实际应用中客户端和服务器端都需要做验证. 在客户端验证真正目 ... -
隐藏超链接所带参数的方法
2008-11-11 10:25 10651. 用JavaScript 正确的做法应该是: <sc ... -
JSP中WAP中文乱码解决方案
2008-03-05 16:24 912前段时间用JSP做一个WAP的应用,碰到中文参数传递保存乱码, ... -
ASP事务处理
2008-03-05 16:49 940<%'asp事务处理。'测试数据库为sql serv ... -
XML的代替者JSON
2008-03-05 16:50 632我个人觉得PHP与Javascript ... -
表格头固定而列可滚动的效果
2008-03-05 16:52 892对于经常需要表格头部不东,而列表可以滚动,多用于数据比较多的情 ... -
asp下连接数据库大全
2008-03-05 16:53 819经常使用到有关数据库的操作。包括连接代码、SQL命令等等,又不 ... -
PHP操作excel的一个例子
2008-03-05 16:55 1557<?php//定义一个excel文 ... -
Jmail使用方法
2008-03-05 16:57 1357快速掌握Jmail使用方法 下面是一段程序代码,现在共享出 ... -
CakePHP中文教程1
2008-03-10 10:28 12651,读者 这份手册是为了那些想快速建立web程序的人所写。C ... -
CakePHP 中文教程3
2008-03-10 10:32 1001第五章 Scaffolding (脚手架?) Scaffol ... -
CakePHP中文教程4
2008-03-10 10:34 817接上页:var $hasOne = array('associ ... -
CakePHP中文教程5
2008-03-10 10:35 993第九章 Helpers Helpers设计的目的是提供一些方 ... -
CakePHP中文教程6
2008-03-10 10:36 716第十章 数据正确性(Data Validation) 创建用 ... -
cakephp实例
2008-03-10 10:58 1062基本的配置:数据库设置 我这里使用的是数据库newsapach ... -
cakephp用户登录验证实例
2008-03-10 11:01 1698/app/controllers/user_controlle ... -
textarea支持图形编辑的实现方法
2008-03-13 17:22 756本来以为只有iframe支持编辑了,今天突然发现textare ... -
PHP正则表达式
2008-03-14 12:53 2326今天起,会开始弄一个PHP ... -
防止页面缓存的方法
2008-08-19 09:11 831htm网页 <metahttp-equiv=" ... -
疯狂代码 写给WEB2.0的站长
2008-09-02 17:02 641当互联网吵吵嚷嚷的进入2.0时代,当互联网的技术不再是那么 ...
相关推荐
CakePHP的中文及英文教程,CHM格式;CakePHP的中文打印版教程,WORD格式,下载后可直接打印,方便的;CakePHP的HTML格式的教程;CakePHP的使用技巧介绍;CakePHP开发的网站源码参考;CakePHP的中文资料很少,大部分...
CakePHP的中文及英文教程,CHM格式;CakePHP的中文打印版教程,WORD格式,下载后可直接打印,方便的;CakePHP的HTML格式的教程;CakePHP的使用技巧介绍;CakePHP开发的网站源码参考;CakePHP的中文资料很少,大部分...
总之,无论你是初学者还是经验丰富的开发者,这份“CakePHP中文手册”都将是你探索和掌握这个强大框架的宝贵工具,帮助你在PHP开发领域更上一层楼。通过深入学习和实践,你将能够高效地构建出稳定、安全且易于维护的...
CakePHP中文手册作为开发者的重要参考资料,包含了全面的API文档、教程、最佳实践以及常见问题解答,帮助开发者更好地理解和运用CakePHP。 在**中文手册**中,你将找到以下关键知识点: 1. **安装与配置**:包括...
CakePHP是一个开源的PHP on rails的full-stack framework。最开始从Ruby On Rails框架里得到灵感。程序员可使用它来快速创建的Web应用程序。我们的首要目的是使你以一种预置的快速且不失灵活性的方式开展工作。
- **Cake中文手册.chm**:这是官方中文文档,包含了详尽的API参考和教程,帮助开发者快速掌握CakePHP的使用方法。 - **访问脚本之家.html**:可能是一个关于CakePHP或其他PHP技术的文章链接,提供更多的学习资源。 -...
- **Content Management Tutorial**: 内容管理教程通过创建一个简单的 CMS 系统来引导读者学习 CakePHP 的基本概念。 - **创建数据库**: 教程首先指导读者如何设计和创建数据库表结构。 - **创建 Articles ...
《CakePHP中文手册》是针对CakePHP框架的一份详细教程,旨在帮助开发者理解和使用这个基于MVC模式的PHP框架。本文将围绕手册中的核心概念和安装流程进行详述。 **一、MVC模式** MVC(Model-View-Controller)是一...
- **CSS2.0中文手册**和**CSS3.0参考手册**:这两本书籍详细阐述了CSS语言的核心概念,从选择器、盒模型到布局、动画,是网页样式设计的必备指南。 - **HTML4 参考手册**和**HTML5**:HTML4手册涵盖了基本的标记语言...
CodeIgniter的下载地址和中文社区信息也被列出,为中文用户提供本地化资源。 CakePHP是一个采用Ruby on Rails风格的框架,它将一些典型的Web开发任务自动化,如代码生成、数据验证和CRUD(创建、读取、更新、删除)...
##### 2. 环境搭建 - **WAMP**: 包括 Windows 操作系统、Apache Web 服务器、MySQL 数据库和 PHP 解释器。WAMP 为 Windows 用户提供了一个简单的 Web 开发环境。 - **XAMPP**: 同样包含 Apache、MySQL、PHP 和 Perl...