目錄
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

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

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

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

CakePHP 專案配置 CakePHP 專案配置 Sep 10, 2024 pm 05:25 PM

在本章中,我們將了解CakePHP中的環境變數、常規配置、資料庫配置和電子郵件配置。

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

Conda升級Python版本的幾種方法,需要具體程式碼範例概述:Conda是一個開源的套件管理器和環境管理系統,用於管理Python套件和環境。在使用Python開發過程中,為了使用新版本的Python,我們可能需要從較舊的Python版本升級。本文將介紹使用Conda升級Python版本的幾種方法,並提供具體的程式碼範例。方法一:使用condainstall命

CakePHP 使用資料庫 CakePHP 使用資料庫 Sep 10, 2024 pm 05:25 PM

在 CakePHP 中使用資料庫非常容易。本章我們將了解CRUD(建立、讀取、更新、刪除)操作。

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

如何升級numpy版本:簡單易懂的教程,需要具體程式碼範例引言:NumPy是一個重要的Python庫,用於科學計算。它提供了一個強大的多維數組物件和一系列與之相關的函數,可用於進行高效的數值運算。隨著新版本的發布,不斷有更新的特性和Bug修復可供我們使用。本文將介紹如何升級已安裝的NumPy函式庫,以取得最新特性並解決已知問題。步驟1:檢查目前NumPy版本在開始

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

1.使用win+x快速鍵開啟選單,選擇【指令提示字元(管理員)(A)】,如下圖所示:2、進入到指令提示字元介面後,輸入【ipconfig/flushdns】指令按回車,如下圖所示:3、接著輸入【netshwinsockresetcatalog】指令按回車,如下圖所示:4、最後輸入【netshintipreset】指令按回車,重啟電腦就可以上網了,如下圖所示:

小紅書如何升級為專業號 小紅書如何升級為專業號 Mar 01, 2024 pm 04:00 PM

很多朋友表示想知道在小紅書裡怎麼去升級成為專業號,下面為大家介紹一下操作方法,有興趣的朋友和我一起來看看吧。打開手機上的「小紅書」APP,進入後點擊右下方的「我的」選項,接著在我的頁面中找到左上角的「三條橫線」圖示並點擊開啟。 2.這時會彈出一個選單頁,在其中點選選擇「創作中心」這項進入。 3.接下來在進入的頁面裡“創作服務”下的選項中找到“更多服務”,並在上面點擊進入。 4.頁面跳轉後,在「作者能力」下方的選項裡點選「開通專業號「這項。 5.最後在進入的頁面裡會對小紅書專業號進行介紹,在底部點選「

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

6月21日,華為開發者大會2024(HDC2024)再聚東莞松山湖。本屆大會上,最令人關注的莫過於HarmonyOSNEXT正式面向開發者和先鋒用戶啟動Beta,並全方位展示了HarmonyOSNEXT全場景、原生智能和原生安全三大「王炸」級創新特性。 HarmonyOSNEXT原生智慧:開啟全新AI時代放棄安卓框架之後,HarmonyOSNEXT成為真正獨立於安卓、iOS的作業系統,堪稱是一場史無前例的脫胎換骨。在其眾多新特性中,原生智能無疑是最能帶給用戶直覺感受與體驗升級的新特性

CakePHP 建立驗證器 CakePHP 建立驗證器 Sep 10, 2024 pm 05:26 PM

可以透過在控制器中新增以下兩行來建立驗證器。

See all articles