目錄
CakePHP 2.x 升级3.0,cakephp2.x升级3.0
首頁 後端開發 php教程 CakePHP 2.x 升级3.0,cakephp2.x升级3.0_PHP教程

CakePHP 2.x 升级3.0,cakephp2.x升级3.0_PHP教程

Jul 13, 2016 am 09:57 AM
cakephp 升級

CakePHP 2.x 升级3.0,cakephp2.x升级3.0

CakePHP 2.x => 3.x 升级手顺

一、Controller层

  1.find('list')
    原2.x中该方法通过指定option中的'fields'来实现key=>value
    3.x通过option中的'keyField'和'valueField'来替换,返回值需要用toArray()进行转换

  2.find('first')、find('count')
    3.x中已经完全废弃掉这两个参数,而使用find()->first()以及find()->count()进行替换

  3.find查询关联表时,必须添加'contain'属性,Cake 3.x 默认不会将表关联在一起

  4.findById
    **?没有找到相关文档?**
    2.x中findById格式为($id,array $fields)
    3.x中可能只有一个参数($id),需要通过select(array $fields)方法来筛选数据

  5.Component->initialize()
    2.x通过initialize(Controller $Controller)获取调用该Component的Controller
    3.x改变了initialize的参数变为initialize(array $config),通过$controller = $this->_registry->getController();获取

  6.SessionComponent
    3.x废弃掉了该Component而改用$this->request->session()替换

二、Model层

  1.Associations
    2.x通过定义属性来实现关联
    3.x需要在Table中的initialize方法中调用$this->belongsTo、$this->hasMany、$this->belongsToMany、$this->addAssociations等方法来实现

  2.Validation
    2.x通过定义validate属性实现数据验证
    3.x需要在Table中定义validationDefault(Validator $validator)方法来实现

  3.virtualFields
    3.x中废弃了这个属性,如需使用,需要在Entity中追加方法
    例如 需要A表定义虚拟字段 full_name
    首先要在A表的Entity中追加 protected function _getFullName()
    然后将 full_name 添加到$_accessible中
    使用时A->find 后该值只可通过object->property的方式获取,无法通过数组方式获取

  4.field()
    **?没有找到相关文档?**
    3.x可能废弃了该方法可以用get()方法替换

  5.ClassRegistry::init()
    3.x废弃该方法需要用TableRegistry::get()替换

  6.Mysql别名设定
    2.x只需要在fields属性中加入as即可 如 'fields'=>array('id as table_id')
    3.x如定义别名需要用加入key 如 'fields'=>['table_id'=>'id']

三、View层

  (View层,从2.x的View文件夹搬迁到3.x的Template)

  1.$this->Html->url
    3.x中用$this->Url->build替代

四、Bug

  1. Associations
    hasMany的表关联查询时,如果需要指定fields则必须在fields中加入关联键???

此升级手顺会持续更新中~~~~~~

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/984441.htmlTechArticleCakePHP 2.x 升级3.0,cakephp2.x升级3.0 CakePHP 2.x = 3.x 升级手顺 一、Controller层 1.find('list') 原2.x中该方法通过指定option中的'fields'来实现key=value 3...
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

兩個點博物館:邦格荒地地點指南
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

兩個點博物館:邦格荒地地點指南
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Conda升級Python版本的幾種方法 Conda升級Python版本的幾種方法 Feb 18, 2024 pm 08:56 PM

Conda升級Python版本的幾種方法

CakePHP 日期和時間 CakePHP 日期和時間 Sep 10, 2024 pm 05:27 PM

CakePHP 日期和時間

升級numpy版本:詳細易學的指南 升級numpy版本:詳細易學的指南 Feb 25, 2024 pm 11:39 PM

升級numpy版本:詳細易學的指南

win10系統升級後無法上網的處理教學課程 win10系統升級後無法上網的處理教學課程 Mar 27, 2024 pm 02:26 PM

win10系統升級後無法上網的處理教學課程

詳解榮耀手機升級到鴻蒙系統的方法 詳解榮耀手機升級到鴻蒙系統的方法 Mar 25, 2024 am 11:51 AM

詳解榮耀手機升級到鴻蒙系統的方法

怎麼升級wps版本? wps office怎麼更新版本? 怎麼升級wps版本? wps office怎麼更新版本? Mar 14, 2024 am 08:43 AM

怎麼升級wps版本? wps office怎麼更新版本?

小藝升級為智能體! HarmonyOS NEXT鴻蒙原生智慧開啟全新AI時代 小藝升級為智能體! HarmonyOS NEXT鴻蒙原生智慧開啟全新AI時代 Jun 22, 2024 am 01:56 AM

小藝升級為智能體! HarmonyOS NEXT鴻蒙原生智慧開啟全新AI時代

CakePHP 檔案上傳 CakePHP 檔案上傳 Sep 10, 2024 pm 05:27 PM

CakePHP 檔案上傳

See all articles