PHP 开发框架,CakePHP 3.1.0 发布
CakePHP是一个运用了诸如ActiveRecord、Association Data Mapping、Front Controller和MVC等著名设计模式的快速开发框架。该项目主要目标是提供一个可以让各种层次的PHP开发人员快速地开发出健壮的Web应用,而 又不失灵活性。主要特性:
基于MVC架构
视图支持Ajax
内置校验框架
提供应用程序的基础模块和CRUD 代码自动生成功能
提供处理session,request,security的组件
灵活的视图缓存功能
面向对象
无需配置:只要安装好数据库
兼容PHP4和PHP5。
-
ORM 增强
-
Mailers 允许创建可重用邮件
-
模板提供额外的模板变量
-
Shell Helpers 可以让你轻松打包复杂输出生成代码
-
刷新默认应用样式
相比 3.0 一些重要的改进:
-
FlashComponentnow stacks Flash messages created with theset()or__call()methods. This means that the structure in the Session for stored Flash messages has changed. -
New configuration option
storagehas been added. It contains the storage class name thatAuthComponentuses to store user record. By defaultSessionStorageis used. If using a stateless authenticator you should configureAuthComponentto useMemoryStorageinstead. -
You can now also configure
AuthComponentto do the auth check before controller'sbeforeFilter()callback is run using thecheckAuthInconfiguration. This is particularly useful when using stateless authenticators. -
RequestHandlerComponentnow switches the layout and template based on the parsed extension orAccept-Typeheader in thebeforeRender()callback instead ofstartup()callback. -
The default mime-type used when sending requests has changed in Http\Client. Previously
multipart/form-datawould always be used. In 3.1,multipart/form-datais only used when file uploads are present. When there are no file uploads,application/x-www-form-urlencodedis used.
其他改进
-
The default route class has been changed to
DashedRoutein thecakephp/apprepository. Your current code base is not affected by this, but it is recommended to use this route class from now on. -
The
breakpoint()helper function has been added. This function provides a snippet of code that can be put intoeval()to trigger an interactive console. -
Shell::dispatchShell()no longer outputs the welcome message from the dispatched shell. -
You can now set
_serializedtotrueforJsonViewandXmlViewto serialize all view variables instead of explicitly specifying them. -
Time::fromNow()has been added. This method makes it easier to calculate differences from 'now'. -
Time::i18nFormat()now supports non-gregorian calendars when formatting dates. -
Validation::latitude(), andValidation::longitude()were added. -
Validation::ascii(),Validation::utf8(), andValidation::isInteger()were added. -
Cache::add()was ported from 2.x. This method allows you to atomically add data to a cache backend if the key did not already exist. -
Time::listTimezones()now supports options to display timezone abbreviations. -
Hash::get()now supports objects implementing ArrayAccess. -
Hash::sort()supports case-insensitive sorting through a newignoreCaseoption.
废弃功能
-
The
SessionHelperhas been deprecated. You can use$this->request->session()directly. -
The following Controller properties are now deprecated:
Instead of setting these properties on your controllers, you should set them using the ViewBuilder.
-
layout
-
view
-
theme
-
autoLayout
-
viewPath
-
layoutPath
升级
php composer.phar require 'cakephp/cakephp:3.1.*' php composer.phar require 'cakephp/debug_kit:3.2.*' php composer.phar require 'cakephp/bake:1.1.*'