cakephp(php框架) 3.6.8
分享到:
cakephp是一个运用了诸如ActiveRecord、Association Data Mapping、Front Controller和MVC等著名设计模式的快速开发框架,该框架主要目标是为我们的开发人员提供一个可以让各种层次的PHP开发人员开速的开发健壮的Web应用,而又不失灵活性。
cakephp是一个给予PHP的免费开源的迅速发展框架,提供给程序员的基本体系架构是开发者们最需要的,因此程序员们可以使用它更快速且不是灵活性的常见网络应用程序,而这就是开发人员创建这个框架的首要目的。cakephp拥有一个友好且活跃的社区,开发人员可以在这个社区里和同行们互相交流经验,也可以提出自己的一些看法和经验,既能够为我们的用户排忧解难,在平常也可以放松心情,谈天说地。
Options Indexes MultiViews
AllowOverride All
Order allow,deny
Allow from all
2、确认 .htaccess 文件是否存在?
RewriteEngine on
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]
①首先确认.htaccess覆写是被允许的:在apache配置文件中检查配置下的AllowOverride是不是设置为All。
②确认你修改的是server的配置文件而不是当前用户或者特定站点的配置文件。
③确认你是否成功加载了mod_rewrite!察看配置文件中是否有’LoadModule rewrite_module libexec/httpd/mod_rewrite.so’ 和 ‘AddModule mod_rewrite.c’。
④有的时候,可能你得到的CakePHP副本缺少了必须的.htaccess文件。因为有的操作系统会将以.开头的文件视作隐藏文件,因而不会拷贝它们。确定你的CakePHP副本是我们网站上下载或者是我们的SVN repository上checkout的。
2、根据错误信息配置
① Notice (1024): Please change the value of ‘Security.salt’ in app/config/core.php to a salt value specific to your application [COREcakelibsdebugger.php, line 557]
设置自己的’Security.salt’
Configure::write(‘Security.salt’, ‘DYhG93b0qyJfIxfs2guVoUubWwvniR2G0FgaC9mi’);
更改为:
Configure::write(‘Security.salt’, ‘ABDCDEFGHIKLMNOPQRSTUVWXYZ’);
注:ABDCDEFGHIKLMNOPQRSTUVWXYZ 为测试使用的,用户根据自己的需要独立设置。
② 设置写权限
Your tmp directory is writable.
windows平台可不用设置,tmp目录是可写的。
在Linux中需要设置一下当前目录为0777
③ 设置Caching
The FileEngine is being used for caching. To change the config edit APP/config/core.php
Cakephp自带已经设置为:
Cache::config(‘default’, array(‘engine’ => ‘File’));
注:CakePHP支持 File、APC、Xcache、Memcache,具体配置看我以前的博文。
④ 设置数据库
Your database configuration file is NOT present.
Rename config/database.php.default to config/database.php
CakePHP默认的是database.php.default,更改为:database.php
class DATABASE_CONFIG {
var $default = array(
'driver' => 'mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'root',
'password' => '123456',
'database' => 'cakephp',
'prefix' => '',
);
}
注:用户根据自己的数据库进行配置 var $test 用于测试可不用。
设置后:
Your database configuration file is present.
Cake is able to connect to the database.
OK,配置完成。开始你的CakePHP之旅吧!
⑤ 开始学习使用Cakephp
Editing this Page
To change the content of this page, create: APP/views/pages/home.ctp.
To change its layout, create: APP/views/layouts/default.ctp.
You can also add some CSS styles for your pages at: APP/webroot/css.
拥有既友好又活跃的社区
灵活的MIT许可证
兼容PHP4和PHP5(2.x版本已不兼容PHP4)
数据库交互运用了CRUD(create, read, update and delete),即增查改删。
应用程序Scaffolding(脚手架)
代码自动产生(代码产生器)
MVC体系架构
清晰,干净的高度自定义的URLs和路由请求分发器(Request dispatcher)
内置验证机制(validation)
快速灵活的模板机制 (PHP 语法,利用Helpers)
拥有AJAX, JavaScript, HTML表单和更多的视图助手工具
邮件、Cookie、安全、会话(Session),和请求处理的组件
灵活的ACL访问控制机制
数据的清理(Data Sanitization)
灵活的视图缓存(Flexible View Caching)
可在任何子目录里工作,很少甚至不需要更改任何Apache相关配置
本地化
控制器 (Controller),模型 (Model) 及视图 (View) 是 CakePHP 的特色,除此之外它也包含了一些附加的类和对象,使得在 MVC 设计模式下开发更快更有乐趣。组件 (Component)、行为 (Behavior) 及助手 (Helper),提供了可扩展性及可重用性来快速新增功能到你的应用中。现在,我们将站在较高的层级上,接着开始寻找一些关于如何使用这些工具的细节。
一次典型的CakePHP请求
我们已经看过CakePHP的基本成分了,那么现在就来看看各个对象怎么完成一个基本的请求。继续讲我们之前的请求的例子,想象一下我们的朋友Ricardo刚刚在一个CakePHP的应用的首页上点击了“立刻买一个自定义的蛋糕!”这个链接。
黑色 = 请求的元素, 灰色 = 可选的元素, 蓝色 = 回调方法
1.Ricardo 点击了指向一个URL 的链接, 然后他的浏览器对你的服务器发出了一个请求。
2.路由(route)从URL中解释并提取出这次请求的参数: 控制器(controller), 动作(action)以及其他在这次请求中影响到业务逻辑的所有其他参数。
3.使用路由后,请求的URL被映射到一个控制器的动作中(在特定的一个控制器的类的一个方法)。在这个例子,是CakeController类的buy()方法。在控制器的所有动作逻辑执行之前会调用beforeFilter()回调方法(callback)。
4.控制器可能会使用模型来处理应用的数据。在这个例子里,控制器使用了一个模型从数据里得到Ricardo上次买的东西。在这次操作中所有这个模型适用的回调方法、习惯(behavior)和数据源(DataSource)都可能得到实施。即使模型没有被用到,所有的CakePHP控制器的初始化至少都需要一个模型。
5.当模型取得数据后,数据会被返回到控制器。模型的回调方法可能会被实施。
6.控制器可能使用组件对数据进行进一步的加工,或者进行其他的操作(例如会话处理、验证或者发电子邮件)。
7.一旦控制器使用了模型和组件以有效地准备数据,就可以使用控制器的set()方法把数据传送到视图(view)。在数据送到视图前,控制器的回调方法可能会被实施。视图逻辑会被执行,可能包括了各种元素及(或者)帮助方法。默认情况下,视图会在一个布局(layout)里被渲染。
8.附加的控制器回调方法(像afterFilter)可能被实施。最后,完整的经过渲染的视图代码就被送到Ricardo的浏览器了。
1. app
2. cake(较高的cakephp版本是lib/Cake)
3. vendors
4. .htaccess
5. index.php
6. README
其中有三个主要的目录:
1.app目录,将是你施展魔术之处——放置你应用程序的地方。
2.cake目录,是CakePHP的核心代码,请不要随意修改这里边的代码,除非你确信自己有这个能力。
3.vendors目录,是放置第三方PHP库的地方。如果在开发过程中还引入一些除CakePHP之外的库,最好放在这个目录下,便于代码的管理。
CakePHP命名规则
我们是命名规则的拥护者。虽然需要花费一点时间来学习CakePHP的命名规则,你省下更多时间在开发上:根据以下的命名规则,你得到不需花钱的功能,以及你将自己从搜寻设定档维护的恶梦中释放出来。命名规则达成一致的系统开发,允许其它的开发者较容易加入或是提供协助
CakePHP的命名规则从许多开发者多年的经验及一些惯例筛选出来。尽管我们建议你开发时使用命名规则,我们应该提及大部份这些规则简单又直观,特别是在修改旧有系统时较为轻松容易。
2.PHP 4.3.2 或更高版本, 没错, CakePHP 可以在php4 或是5下面运行.
技术上来说, 数据库不是必需的,但我们设想每个应用都会用到数据库,cakephp 支持大部分数据库::
1.MySQL
2.PostgreSQL
3.Firebird DB2
4.Microsoft SQL Server
5.Oracle
6.SQLite
7.ODBC
8.ADOdb
Acl
Acl 访问控制列表组件提供一个简单易用的数据库接口和基于ini文件的访问控制列表。
Auth
Auth 认证组件提供了一个简单易用的认证系统,使用多种认证过程,如 Controller 回调、ACL 或者Object 回调。
Session
会话组件是 PHP Session 的独立存储的包装器。
RequestHandler
RequestHandler 组件分析访问者的请求,和给应用提供关于内容类型 (Content Type) 和被请求的信息。
Security
安全组件允许你做非常严格的安全设置和管理HTTP验证。
Email
使用多种邮件传输代理发送邮件,包括使用 PHP 的 mail() 和 SMTP。
Cookie
Cookie 组件类似 SessionComponent,可以理解为 PHP Cookie 的一个包装器。
1.可以使用原始的引入css方法,比如
2.可以使用cakephp的HTML助手引入,比如
<?php echo $this->Html->css('main');?>
如果要引入多个,则使用
<?php echo $this->Html->css(array('forms','tables','menu'));?
cakephp是一个给予PHP的免费开源的迅速发展框架,提供给程序员的基本体系架构是开发者们最需要的,因此程序员们可以使用它更快速且不是灵活性的常见网络应用程序,而这就是开发人员创建这个框架的首要目的。cakephp拥有一个友好且活跃的社区,开发人员可以在这个社区里和同行们互相交流经验,也可以提出自己的一些看法和经验,既能够为我们的用户排忧解难,在平常也可以放松心情,谈天说地。
安装教程
1、httpd.conf 文件中的定义Options Indexes MultiViews
AllowOverride All
Order allow,deny
Allow from all
2、确认 .htaccess 文件是否存在?
RewriteEngine on
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]
①首先确认.htaccess覆写是被允许的:在apache配置文件中检查配置下的AllowOverride是不是设置为All。
②确认你修改的是server的配置文件而不是当前用户或者特定站点的配置文件。
③确认你是否成功加载了mod_rewrite!察看配置文件中是否有’LoadModule rewrite_module libexec/httpd/mod_rewrite.so’ 和 ‘AddModule mod_rewrite.c’。
④有的时候,可能你得到的CakePHP副本缺少了必须的.htaccess文件。因为有的操作系统会将以.开头的文件视作隐藏文件,因而不会拷贝它们。确定你的CakePHP副本是我们网站上下载或者是我们的SVN repository上checkout的。
2、根据错误信息配置
① Notice (1024): Please change the value of ‘Security.salt’ in app/config/core.php to a salt value specific to your application [COREcakelibsdebugger.php, line 557]
设置自己的’Security.salt’
Configure::write(‘Security.salt’, ‘DYhG93b0qyJfIxfs2guVoUubWwvniR2G0FgaC9mi’);
更改为:
Configure::write(‘Security.salt’, ‘ABDCDEFGHIKLMNOPQRSTUVWXYZ’);
注:ABDCDEFGHIKLMNOPQRSTUVWXYZ 为测试使用的,用户根据自己的需要独立设置。
② 设置写权限
Your tmp directory is writable.
windows平台可不用设置,tmp目录是可写的。
在Linux中需要设置一下当前目录为0777
③ 设置Caching
The FileEngine is being used for caching. To change the config edit APP/config/core.php
Cakephp自带已经设置为:
Cache::config(‘default’, array(‘engine’ => ‘File’));
注:CakePHP支持 File、APC、Xcache、Memcache,具体配置看我以前的博文。
④ 设置数据库
Your database configuration file is NOT present.
Rename config/database.php.default to config/database.php
CakePHP默认的是database.php.default,更改为:database.php
class DATABASE_CONFIG {
var $default = array(
'driver' => 'mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'root',
'password' => '123456',
'database' => 'cakephp',
'prefix' => '',
);
}
注:用户根据自己的数据库进行配置 var $test 用于测试可不用。
设置后:
Your database configuration file is present.
Cake is able to connect to the database.
OK,配置完成。开始你的CakePHP之旅吧!
⑤ 开始学习使用Cakephp
Editing this Page
To change the content of this page, create: APP/views/pages/home.ctp.
To change its layout, create: APP/views/layouts/default.ctp.
You can also add some CSS styles for your pages at: APP/webroot/css.
特性
CakePHP有多个特点,这些特点让CakePHP成为了快速开发框架中的佼佼者之一。拥有既友好又活跃的社区
灵活的MIT许可证
兼容PHP4和PHP5(2.x版本已不兼容PHP4)
数据库交互运用了CRUD(create, read, update and delete),即增查改删。
应用程序Scaffolding(脚手架)
代码自动产生(代码产生器)
MVC体系架构
清晰,干净的高度自定义的URLs和路由请求分发器(Request dispatcher)
内置验证机制(validation)
快速灵活的模板机制 (PHP 语法,利用Helpers)
拥有AJAX, JavaScript, HTML表单和更多的视图助手工具
邮件、Cookie、安全、会话(Session),和请求处理的组件
灵活的ACL访问控制机制
数据的清理(Data Sanitization)
灵活的视图缓存(Flexible View Caching)
可在任何子目录里工作,很少甚至不需要更改任何Apache相关配置
本地化
基本原则
CakePHP的结构控制器 (Controller),模型 (Model) 及视图 (View) 是 CakePHP 的特色,除此之外它也包含了一些附加的类和对象,使得在 MVC 设计模式下开发更快更有乐趣。组件 (Component)、行为 (Behavior) 及助手 (Helper),提供了可扩展性及可重用性来快速新增功能到你的应用中。现在,我们将站在较高的层级上,接着开始寻找一些关于如何使用这些工具的细节。
一次典型的CakePHP请求
我们已经看过CakePHP的基本成分了,那么现在就来看看各个对象怎么完成一个基本的请求。继续讲我们之前的请求的例子,想象一下我们的朋友Ricardo刚刚在一个CakePHP的应用的首页上点击了“立刻买一个自定义的蛋糕!”这个链接。
黑色 = 请求的元素, 灰色 = 可选的元素, 蓝色 = 回调方法
1.Ricardo 点击了指向一个URL 的链接, 然后他的浏览器对你的服务器发出了一个请求。
2.路由(route)从URL中解释并提取出这次请求的参数: 控制器(controller), 动作(action)以及其他在这次请求中影响到业务逻辑的所有其他参数。
3.使用路由后,请求的URL被映射到一个控制器的动作中(在特定的一个控制器的类的一个方法)。在这个例子,是CakeController类的buy()方法。在控制器的所有动作逻辑执行之前会调用beforeFilter()回调方法(callback)。
4.控制器可能会使用模型来处理应用的数据。在这个例子里,控制器使用了一个模型从数据里得到Ricardo上次买的东西。在这次操作中所有这个模型适用的回调方法、习惯(behavior)和数据源(DataSource)都可能得到实施。即使模型没有被用到,所有的CakePHP控制器的初始化至少都需要一个模型。
5.当模型取得数据后,数据会被返回到控制器。模型的回调方法可能会被实施。
6.控制器可能使用组件对数据进行进一步的加工,或者进行其他的操作(例如会话处理、验证或者发电子邮件)。
7.一旦控制器使用了模型和组件以有效地准备数据,就可以使用控制器的set()方法把数据传送到视图(view)。在数据送到视图前,控制器的回调方法可能会被实施。视图逻辑会被执行,可能包括了各种元素及(或者)帮助方法。默认情况下,视图会在一个布局(layout)里被渲染。
8.附加的控制器回调方法(像afterFilter)可能被实施。最后,完整的经过渲染的视图代码就被送到Ricardo的浏览器了。
文档结构
在你下载并且解压缩之后,在CakePHP目录下会看到这样一些文件和目录:1. app
2. cake(较高的cakephp版本是lib/Cake)
3. vendors
4. .htaccess
5. index.php
6. README
其中有三个主要的目录:
1.app目录,将是你施展魔术之处——放置你应用程序的地方。
2.cake目录,是CakePHP的核心代码,请不要随意修改这里边的代码,除非你确信自己有这个能力。
3.vendors目录,是放置第三方PHP库的地方。如果在开发过程中还引入一些除CakePHP之外的库,最好放在这个目录下,便于代码的管理。
CakePHP命名规则
我们是命名规则的拥护者。虽然需要花费一点时间来学习CakePHP的命名规则,你省下更多时间在开发上:根据以下的命名规则,你得到不需花钱的功能,以及你将自己从搜寻设定档维护的恶梦中释放出来。命名规则达成一致的系统开发,允许其它的开发者较容易加入或是提供协助
CakePHP的命名规则从许多开发者多年的经验及一些惯例筛选出来。尽管我们建议你开发时使用命名规则,我们应该提及大部份这些规则简单又直观,特别是在修改旧有系统时较为轻松容易。
必要条件
1.HTTP Server. 最好是带 mod_rewrite模块的 Apache , 但不是必要条件.2.PHP 4.3.2 或更高版本, 没错, CakePHP 可以在php4 或是5下面运行.
技术上来说, 数据库不是必需的,但我们设想每个应用都会用到数据库,cakephp 支持大部分数据库::
1.MySQL
2.PostgreSQL
3.Firebird DB2
4.Microsoft SQL Server
5.Oracle
6.SQLite
7.ODBC
8.ADOdb
核心组件
CakePHP 有大量的内置组件 (component)。它们可以直接使用在你的应用程序中。Acl
Acl 访问控制列表组件提供一个简单易用的数据库接口和基于ini文件的访问控制列表。
Auth
Auth 认证组件提供了一个简单易用的认证系统,使用多种认证过程,如 Controller 回调、ACL 或者Object 回调。
Session
会话组件是 PHP Session 的独立存储的包装器。
RequestHandler
RequestHandler 组件分析访问者的请求,和给应用提供关于内容类型 (Content Type) 和被请求的信息。
Security
安全组件允许你做非常严格的安全设置和管理HTTP验证。
使用多种邮件传输代理发送邮件,包括使用 PHP 的 mail() 和 SMTP。
Cookie
Cookie 组件类似 SessionComponent,可以理解为 PHP Cookie 的一个包装器。
怎样加css
在cakephp里面引入css,有两种方式:1.可以使用原始的引入css方法,比如
2.可以使用cakephp的HTML助手引入,比如
<?php echo $this->Html->css('main');?>
如果要引入多个,则使用
<?php echo $this->Html->css(array('forms','tables','menu'));?
展开更多
cakephp(php框架) 3.6.8下载地址
- 需先下载高速下载器:
- 专用下载:
- 其它下载: