`

CakePHP: 配置

    博客分类:
  • PHP
 
阅读更多
cakephp基本配置 http://fisherxie.iteye.com/blog/725019
CakePHP 2.x十分钟博客教程 http://www.ruiwant.com/cakephp2-blog-tutorials-part-1-installation-and-configuration.html

参考:
CakePHP 2.x十分钟博客教程(一):安装与配置 http://www.ruiwant.com/cakephp2-blog-tutorials-part-1-installation-and-configuration.html
php框架学习日志二(cakephp在xp上安装) http://blog.csdn.net/wjazz/article/details/2618750

CakePHP配置
1.下载并解压到目录。

2.httpd.conf配置文件
A:LoadModule rewrite_module modules/mod_rewrite.so把前面的#去掉。
B:检查AllowOverride是否为all如果不是,请改为all。然后保存重启APACHE。
	<Directory />
		Options FollowSymLinks
		AllowOverride all
		Order deny,allow
		Deny from all
		Satisfy all
	</Directory>


3.注意.htaccess也要复制过去。

4.两个注意
Notice (1024): Please change the value of 'Security.salt' in APP/Config/core.php to a salt value specific to your application.
[CORE\Cake\Utility\Debugger.php, line 849]
Notice (1024): Please change the value of 'Security.cipherSeed' in APP/Config/core.php to a numeric (digits only) seed value specific to your application.
[CORE\Cake\Utility\Debugger.php, line 853]
找到D:\work_documents\htdocs\app\Config\core.php文件,查看里面的Security.salt,Security.cipherSeed,修改这两个值,就可以了。

5.进入http://localhost,就可以看见欢迎界面了。

6.配置首页:
CakePHP默认设置的一个route来为PagesController::display('home')配置路由。Home是Cake的默认首页视图,你可以在这个位置找到并修改它/app/views/pages/home.thtml。
CakePHP的默认响应请求(访问www.example.com)是使用PagesController控制器,然后输出home.ctp视图文件,这些文件都包含在CakePHP框架的核心库中。现在我们通过路由更改默认响应到PostsController控制器的index()方法。首先找到路由配置文件,/app/Config/routes.php。找到如下代码,并替换新的代码。
//注释掉:
//Router::connect('/', array('controller' => 'pages', 'action' => 'display', 'home')); 
//添加代码:
$Route->connect ('/', array('controller'=>'Pages', 'action'=>'display', 'home'));


7.配置模板文件格式:
cakephp的默认views编辑页面为ctp格式的,这在DM下编辑不方便,所以我都会把默认修改为html或者htm格式,方便前台美工修改。
D:\work_documents\htdocs\lib\Cake\Controller\Controller.php
#public $ext = '.ctp';
public $ext = '.php';


8.修改默认的页面头部:,页面头部信息可以通过默认的布局文件 APP/views/layouts/default.ctp控制,D:\work_documents\htdocs\app\View\Layouts\default.ctp,直接修改这个文件。
<!DOCTYPE html>
<html>
<head>
	<?php echo $this->Html->charset(); ?>
	<title>
		潘永郑的个人网站
	</title>
	<?php
		/*echo $this->Html->meta('icon');
		echo $this->Html->css('cake.generic');
		echo $this->fetch('meta');
		echo $this->fetch('css');
		echo $this->fetch('script');*/
	?>
</head>
<body>
	<?php echo $this->fetch('content'); ?>
</body>
</html>


9.过滤一些路由,由于默认的cakePHP会占用了所有路由,所以需要设定一些url,让它不通过路由。
D:\work_documents\htdocs\.htaccess, 注意,是根目录下面,不是app文件夹下面的。
<IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteCond    %{REQUEST_URI} !^/apps/(.*)
   RewriteCond    %{REQUEST_URI} !^/demos/(.*)
   #RewriteRule    ^$ app/webroot/    [L]
   RewriteRule    (.*) app/webroot/$1 [L]
</IfModule>

RewriteCond    %{REQUEST_URI} !^/apps/(.*)
RewriteCond    %{REQUEST_URI} !^/demos/(.*)


10.自定义layout
在 cakephp 中 layout 默认指向 /app/views/layouts/default.ctp
如果要自定义 layout,需要在 controller 中定义:
var $layout = 'mylayout';
layout 则指向了 /app/views/layouts/mylayout.ctp
如果需要设置一个空的layout,同样也得在controller中或者是controller的函数中定义:
var $layout = 'empty';
然后修改/app/views/layout/empty.ctp;

10. 创建不使用数据库表的 model 或者改变 model 对应的表名
我需要创建一个不使用任何表的model。例如,我想通过 $validate 数组方便底验证输入数据,保持model逻辑的正确性。但创建 model 时对应的表不存在,CakePHP 就会报错。通过在 model 中加入以下代码可以解决这个问题:
var $useTable = false;
也可以通过这种方法改变model对应的表名。
var $useTable = 'some_table';

4. 快速创建后台管理
如果你需要创建后台管理程序,并且希望所有管理action都位于某个特定文件夹下,打开 config/core.php 并将下面这一行的注释去掉:
define('CAKE_ADMIN', 'admin');
这样所有以"admin_"开头的action都可以通过 /admin/yourcontroller/youraction 来访问。例如,如果在 posts controller 中创建了名为 "admin_add" 的 action,那么可以通过 localhost/admin/posts/add 访问这个action。这样就可以方便地为 admin 目录设置密码以避免他人随意访问。

5. 自定义404页面
如果你需要自定义404页面,只需创建 /app/views/errors/error404.thtml。

6. 让controller使用其他model
如果你的controller需要调用来自不同model的数据,只要在controller开头使用如下代码:
class yourController extends AppController {
var $uses = array('Post','User');
public function site()
    {
        $this->set("site", $this->Post->find("all"));
    }
}

这样controller就能访问Post和User model了。
注意:array里面的元素不能是复数,应该是单数,使用为$this->Post

配置数据库
复制database.php.default成database.php,然后修改
public $default = array(
		'datasource' => 'Database/Mysql',
		'persistent' => false,
		'host' => 'localhost',
		'login' => 'user',
		'password' => 'password',
		'database' => 'database_name',
		'prefix' => '',
		//'encoding' => 'utf8',
	);



一个很哑巴的错误:我做完以上配置,并运行成功。
按照:http://www.ruiwant.com/cakephp2-blog-tutorials-part-2-controller-model-view-introduction.html,做了个例子,但是,我把我自己的首页去替换掉了webroot/index.php文件,这个时候会出现错误,后来还原了cakephp自己的index.php,才能正常运行。就是说CakePHP自己webroot/index.php是不能删除的
分享到:
评论

相关推荐

    phing-cakephp:这是CakePHP项目的phing配置

    这是CakePHP 2.x项目的phing配置。 Phing构建测试 ,检查代码质量( , , )并生成 。 安装PHP包 在进行配置之前,将PHP软件包安装到您的计算机上。 pecl install xdebug pear channel-discover components.ez.no ...

    Cakephp安装和配置

    ### CakePHP 安装与配置指南 #### 一、前言 本文档旨在详细介绍如何在特定环境下安装并配置 CakePHP 框架。所使用的环境包括 Apache 2.2.21、MySQL 5.5.20 和 PHP 5.3.10,操作系统为 Windows 7 Ultimate 32位。 #...

    gym-trainer-cakephp:cakephp-健身

    CakePHP应用程序框架 使用 3.0创建应用程序的框架。 框架源代码可以在这里找到: 。 安装 下载或更新composer self-update 。 运行php composer.phar create-project --prefer-dist cakephp/app [app_name] 。 ...

    Apress.Beginning.CakePHP.From.Novice.to.Professional.Jul.2008

    - 包括安装所需的软件(如Apache、PHP、MySQL等),以及如何配置这些软件来支持CakePHP的运行。 3. **基础概念** - 解释MVC架构的基本原理及其在CakePHP中的实现方式。 - Model层负责处理数据逻辑,View层用于...

    CakePHP PHP MVC框架

    1. **路由配置**:CakePHP的路由系统允许开发者自定义URL模式,使URL更友好,易于理解。 2. **自动验证**:对表单数据进行验证,确保输入符合预设规则。 3. **ORM(对象关系映射)**:通过ActiveRecord模式,提供了...

    vagrantfile-cakephp:这个存储库包含一个 `Vagrantfile&#96; 和一个 &#96;bootstrap.sh`,用于为 CakePHP 创建一个流浪环境

    CakePHP Vagrant 配置 这个存储库包含一个Vagrantfile和一个bootstrap.sh用于为 CakePHP 创建一个流浪环境(并且可能适用于其他 PHP 框架)。 用法 当然,你必须安装 。 git clone ...

    MandrillTransport-CakePHP:这样可以将CakePHP 2.0中的CakeEmail与Mandrill结合使用

    Mandrill CakePHP插件这样可以将CakePHP 2.0中的CakeEmail与Mandrill结合使用。安装为Mandrill传输协议添加电子邮件配置。 将此添加到/app/Config/email.php 。 您可能会发现它名为email.php.default 。 public $...

    CakePHP 3.5 开发手册文档 CakePHP Cookbook Documentation Release 3.5/共900页 PDF

    - **Conventions Over Configuration**: CakePHP 遵循约定优于配置的原则,这意味着在大多数情况下,框架能够自动处理许多常见的配置问题,开发者只需关注业务逻辑。 - **The Model Layer**: 模型层负责处理数据访问...

    CakePHP 3.4 开发手册文档 CakePHP Cookbook Documentation Release 3.4

    - **I18n**:CakePHP 支持多语言环境,可以通过配置文件轻松切换不同的语言。 - **L10n**:针对不同地区的日期时间、货币格式等本地化需求,框架也提供了相应的解决方案。 #### 测试 CakePHP 内置了强大的测试框架...

    cakephp-cakephp-2.0.0-beta-0-g402934f.zip

    在描述中提到,CakePHP是“借鉴Raid on Rails的PHP实现”,这意味着它采用了与Ruby on Rails相似的约定优于配置(Convention over Configuration)原则,旨在减少开发者在项目设置和配置上的工作量,从而更专注于...

    cakephp 框架书籍 英文版

    - **配置**:讲解了如何配置CakePHP的各种设置,以适应不同的开发场景。 - **路由**:介绍了CakePHP的路由机制,以及如何自定义URL结构。 - **会话**:解释了会话管理的相关概念,以及CakePHP如何处理会话数据。 - *...

    cakephp中文手册.pdf

    《CakePHP中文手册》是针对...总结,CakePHP中文手册提供了全面的指导,涵盖了从MVC模式的基本理解到框架的安装和配置。对于初学者和经验丰富的开发者而言,这是一份宝贵的资源,有助于快速上手和高效开发PHP Web应用。

    cakephp最新开发文档

    3. **配置 CakePHP**:配置文件位于`app/config`目录下,包括数据库和访问控制列表(ACL)等设置。`index.php`文件允许你将`app`目录作为Web服务器的DocumentRoot。 4. **Scaffolding**:Scaffolding是快速原型开发...

    cakephp-1.3.21.zip

    2. 配置:修改app/config/core.php文件,设置数据库连接、错误报告级别等项目。 四、控制器与动作 1. 控制器定义:每个控制器类对应一个功能模块,例如UsersController处理用户相关的请求。 2. 动作:控制器中的...

    cakephp-2.4.1

    2. **安装与配置**:CakePHP 2.4.1的安装过程简单,通常通过Composer进行。开发者需要配置数据库连接信息,包括数据库类型、用户名、密码和主机名,以便CakePHP能与MySQL进行通信。 3. **路由系统**:CakePHP的路由...

    cakephp-1.2 manual

    1. **安装与配置**:首先,你需要了解如何下载并设置 CakePHP 环境,包括配置你的服务器环境(如Apache或Nginx)、数据库连接(如MySQL)以及设置基本的目录结构。 2. **MVC架构**:MVC是软件设计的一个重要概念,...

    memcache简介、安装 and in cakephp

    **Memcache简介** Memcache是一种高性能的分布式内存对象缓存系统,它被广泛应用于Web应用中,用于...通过正确安装和配置,以及在CakePHP这样的PHP框架中使用,你可以充分利用其优势,减少数据库压力,提高用户体验。

    cakephp 框架

    1. 约定优于配置:CakePHP 设定了许多默认约定,如目录结构、命名规范等,降低了项目初始化的复杂度。 2. 快速开发:框架提供了丰富的内置功能,如路由、认证、授权、错误处理和日志记录,使开发者能快速构建功能...

    cakephp 框架1.3.11版本

    3. **自动路由**:框架会根据URL自动映射到相应的控制器和动作,减少了开发者手动配置路由的繁琐工作。 4. **辅助方法和组件**:CakePHP提供了许多内置的辅助方法和组件,如FormHelper和HtmlHelper,它们能帮助...

Global site tag (gtag.js) - Google Analytics