Table of Contents
CakePHP 2.x upgrade to 3.0, cakephp2.x upgrade to 3.0
Home Backend Development PHP Tutorial CakePHP 2.x upgrade to 3.0, cakephp2.x upgrade to 3.0_PHP tutorial

CakePHP 2.x upgrade to 3.0, cakephp2.x upgrade to 3.0_PHP tutorial

Jul 13, 2016 am 09:57 AM
cakephp upgrade

CakePHP 2.x upgrade to 3.0, cakephp2.x upgrade to 3.0

CakePHP 2.x => 3.x upgrade instructions

1. Controller layer

1.find('list')
In the original 2.x, this method implements key=>value
by specifying the 'fields' in the option. 3.x uses the 'keyField' and 'keyField' in the option. 'valueField' to replace, the return value needs to be converted using toArray()

2.find('first'), find('count')
3.x has completely abandoned these two parameters, and use find()->first() and find()- >count() to replace

3. When find queries related tables, you must add the 'contain' attribute. Cake 3.x will not associate tables together by default

4.findById
**?No relevant document found?**
The format of findById in 2.x is ($id,array $fields)
3.x may have only one parameter ($ id), you need to filter the data through the select(array $fields) method

5.Component->initialize()
2.x gets the Controller that calls the Component through initialize(Controller $Controller)
3.x changed the parameter of initialize to initialize(array $config) , get

through $controller = $this->_registry->getController();

6.SessionComponent
3.x abandoned this Component and used $this->request->session() to replace

2. Model layer

1.Associations
2.x realizes association by defining attributes
3.x needs to call $this->belongsTo, $this->hasMany, $this- in the initialize method in Table >belongsToMany, $this->addAssociations and other methods to achieve

2.Validation
2.x implements data validation by defining the validate attribute
3.x needs to define the validationDefault(Validator $validator) method in Table to implement

3.virtualFields
This attribute was abandoned in 3.x. If you need to use it, you need to add the method
in Entity. For example, you need to define the virtual field full_name in table A
. First, you need to define the virtual field full_name in table A in the Entity. Append protected function _getFullName()
   Then add full_name to $_accessible
  When using A->find, the value can only be obtained through object->property and cannot be obtained through array

4.field()
**? No relevant document found?**
3.x may have abandoned this method and can be replaced with the get() method

5.ClassRegistry::init()
3.x This method is abandoned and needs to be replaced with TableRegistry::get()

6.Mysql alias setting
2.x only needs to add as in the fields attribute, such as 'fields'=>array('id as table_id')
3.x needs to define an alias Use adding key such as 'fields'=>['table_id'=>'id']

3. View layer

(View layer, moved from the View folder of 2.x to the Template of 3.x)

1.$this->Html->url
In 3.x, use $this->Url->build instead of

4. Bug

1. Associations
When querying hasMany table association, if you need to specify fields, must you add association keys to the fields? ? ?

This upgrade guide will continue to be updated~~~~~~

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/984441.htmlTechArticleCakePHP 2.x upgrade to 3.0, cakephp2.x upgrade to 3.0 CakePHP 2.x = 3.x upgrade smoothly , Controller layer 1.find('list') In the original 2.x, this method implements key=value 3 by specifying the 'fields' in the option...
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

Java Tutorial
1653
14
PHP Tutorial
1251
29
C# Tutorial
1224
24
CakePHP Project Configuration CakePHP Project Configuration Sep 10, 2024 pm 05:25 PM

In this chapter, we will understand the Environment Variables, General Configuration, Database Configuration and Email Configuration in CakePHP.

Several methods for upgrading Python version in Conda Several methods for upgrading Python version in Conda Feb 18, 2024 pm 08:56 PM

Several methods for Conda to upgrade the Python version require specific code examples. Overview: Conda is an open source package manager and environment management system for managing Python packages and environments. During development using Python, in order to use a new version of Python, we may need to upgrade from an older Python version. This article will introduce several methods of using Conda to upgrade the Python version and provide specific code examples. Method 1: Use the condainstall command

CakePHP Working with Database CakePHP Working with Database Sep 10, 2024 pm 05:25 PM

Working with database in CakePHP is very easy. We will understand the CRUD (Create, Read, Update, Delete) operations in this chapter.

Upgrading numpy versions: a detailed and easy-to-follow guide Upgrading numpy versions: a detailed and easy-to-follow guide Feb 25, 2024 pm 11:39 PM

How to upgrade numpy version: Easy-to-follow tutorial, requires concrete code examples Introduction: NumPy is an important Python library used for scientific computing. It provides a powerful multidimensional array object and a series of related functions that can be used to perform efficient numerical operations. As new versions are released, newer features and bug fixes are constantly available to us. This article will describe how to upgrade your installed NumPy library to get the latest features and resolve known issues. Step 1: Check the current NumPy version at the beginning

Tutorial on how to solve the problem of being unable to access the Internet after upgrading win10 system Tutorial on how to solve the problem of being unable to access the Internet after upgrading win10 system Mar 27, 2024 pm 02:26 PM

1. Use the win+x shortcut key to open the menu and select [Command Prompt (Administrator) (A)], as shown below: 2. After entering the command prompt interface, enter the [ipconfig/flushdns] command and press Enter , as shown in the figure below: 3. Then enter the [netshwinsockresetcatalog] command and press Enter, as shown in the figure below: 4. Finally enter the [netshintipreset] command and press Enter, restart the computer and you can access the Internet, as shown in the figure below:

How to upgrade Xiaohongshu to a professional account How to upgrade Xiaohongshu to a professional account Mar 01, 2024 pm 04:00 PM

Many friends expressed that they want to know how to upgrade to a professional account in Xiaohongshu. Here I will introduce the operation method. If you are interested, come and take a look with me. Open the "Little Red Book" APP on your mobile phone, click the "My" option in the lower right corner after entering it, then find the "three horizontal lines" icon in the upper left corner of the My page and click to open it. 2. A menu page will pop up, in which click to select the "Creation Center" item to enter. 3. Next, find "More Services" in the options under "Creation Services" on the page you enter, and click on it to enter. 4. After the page jumps, click "Open a Professional Account" in the options under "Author Capabilities". 5. Finally, the Xiaohongshu Professional Account will be introduced on the entered page. Click "

Xiaoyi upgraded to an intelligent agent! HarmonyOS NEXT Hongmeng native intelligence opens a new AI era Xiaoyi upgraded to an intelligent agent! HarmonyOS NEXT Hongmeng native intelligence opens a new AI era Jun 22, 2024 am 01:56 AM

On June 21, Huawei Developer Conference 2024 (HDC2024) gathered again in Songshan Lake, Dongguan. At this conference, the most eye-catching thing is that HarmonyOSNEXT officially launched Beta for developers and pioneer users, and comprehensively demonstrated the three "king-breaking" innovative features of HarmonyOSNEXT in all scenarios, native intelligence and native security. HarmonyOSNEXT native intelligence: Opening a new AI era After abandoning the Android framework, HarmonyOSNEXT has become a truly independent operating system independent of Android and iOS, which can be called an unprecedented rebirth. Among its many new features, native intelligence is undoubtedly the new feature that can best bring users intuitive feelings and experience upgrades.

How to upgrade Xiaomi 14Pro to ThePaper OS? How to upgrade Xiaomi 14Pro to ThePaper OS? Mar 18, 2024 pm 07:34 PM

Mi 14 Pro is Xiaomi's latest flagship phone, and ThePaper OS is a new operating system independently developed by Xiaomi, dedicated to providing a smoother and smarter user experience. With the continuous development of technology, ThePaper OS is also constantly being updated and upgraded. So many users who are using Xiaomi mobile phones for the first time are asking Xiaomi 14Pro users how to upgrade ThePaper OS? How to upgrade Xiaomi Mi 14 Pro to Thermal OS? There is no need to update. The original factory comes with Thermal OS. How to update other models that support ThePaper OS: 1. Open the settings application of your phone and find the system update option. 2. The system will automatically detect the current system version and prompt when a new version is available for update. 3. Just click "Update Now" and the system will start downloading automatically.

See all articles