Table des matières
CakePHP 2.x 升级3.0,cakephp2.x升级3.0
Maison php教程 php手册 CakePHP 2.x 升级3.0,cakephp2.x升级3.0

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

Jun 13, 2016 am 09:07 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中加入关联键???

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

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Configuration du projet CakePHP Configuration du projet CakePHP Sep 10, 2024 pm 05:25 PM

Dans ce chapitre, nous comprendrons les variables d'environnement, la configuration générale, la configuration de la base de données et la configuration de la messagerie dans CakePHP.

Plusieurs méthodes pour mettre à niveau la version Python dans Conda Plusieurs méthodes pour mettre à niveau la version Python dans Conda Feb 18, 2024 pm 08:56 PM

Plusieurs méthodes permettant à Conda de mettre à niveau la version Python nécessitent des exemples de code spécifiques Présentation : Conda est un gestionnaire de packages open source et un système de gestion d'environnement permettant de gérer les packages et les environnements Python. Lors du développement avec Python, afin d'utiliser une nouvelle version de Python, nous devrons peut-être effectuer une mise à niveau à partir d'une ancienne version de Python. Cet article présentera plusieurs méthodes d'utilisation de Conda pour mettre à niveau la version Python et fournira des exemples de code spécifiques. Méthode 1 : utilisez la commande condainstall

CakePHP travaillant avec la base de données CakePHP travaillant avec la base de données Sep 10, 2024 pm 05:25 PM

Travailler avec la base de données dans CakePHP est très simple. Nous comprendrons les opérations CRUD (Créer, Lire, Mettre à jour, Supprimer) dans ce chapitre.

Mise à niveau de la version numpy : un guide détaillé et facile à suivre Mise à niveau de la version numpy : un guide détaillé et facile à suivre Feb 25, 2024 pm 11:39 PM

Comment mettre à niveau la version numpy : tutoriel facile à suivre, nécessite des exemples de code concrets Introduction : NumPy est une bibliothèque Python importante utilisée pour le calcul scientifique. Il fournit un puissant objet tableau multidimensionnel et une série de fonctions associées qui peuvent être utilisées pour effectuer des opérations numériques efficaces. À mesure que de nouvelles versions sont publiées, de nouvelles fonctionnalités et corrections de bugs sont constamment disponibles. Cet article décrira comment mettre à niveau votre bibliothèque NumPy installée pour obtenir les dernières fonctionnalités et résoudre les problèmes connus. Étape 1 : Vérifiez la version actuelle de NumPy au début

Tutoriel sur la façon de résoudre le problème de l'impossibilité d'accéder à Internet après la mise à niveau du système Win10 Tutoriel sur la façon de résoudre le problème de l'impossibilité d'accéder à Internet après la mise à niveau du système Win10 Mar 27, 2024 pm 02:26 PM

1. Utilisez la touche de raccourci win+x pour ouvrir le menu et sélectionnez [Invite de commandes (administrateur) (A)], comme indiqué ci-dessous : 2. Après être entré dans l'interface d'invite de commande, entrez la commande [ipconfig/flushdns] et appuyez sur Entrée. , comme le montre la figure ci-dessous : 3. Entrez ensuite la commande [netshwinsockresetcatalog] et appuyez sur Entrée, comme le montre la figure ci-dessous : 4. Entrez enfin la commande [netshintipreset] et appuyez sur Entrée, redémarrez l'ordinateur et vous pourrez accéder à Internet. , comme le montre la figure ci-dessous :

Date et heure de CakePHP Date et heure de CakePHP Sep 10, 2024 pm 05:27 PM

Pour travailler avec la date et l'heure dans cakephp4, nous allons utiliser la classe FrozenTime disponible.

Comment mettre à niveau Xiaohongshu vers un compte professionnel Comment mettre à niveau Xiaohongshu vers un compte professionnel Mar 01, 2024 pm 04:00 PM

De nombreux amis ont exprimé leur souhait de savoir comment passer à un compte professionnel à Xiaohongshu. Ici, je vais vous présenter la méthode de fonctionnement. Si vous êtes intéressé, venez jeter un œil avec moi. Ouvrez l'application « Little Red Book » sur votre téléphone mobile, cliquez sur l'option « Mon » dans le coin inférieur droit après avoir entré, puis recherchez l'icône « trois lignes horizontales » dans le coin supérieur gauche de la page Ma et cliquez pour l'ouvrir. 2. Une page de menu apparaîtra, dans laquelle cliquez pour sélectionner l'élément "Centre de création" pour entrer. 3. Ensuite, recherchez « Plus de services » dans les options sous « Services de création » sur la page que vous entrez, et cliquez dessus pour entrer. 4. Une fois la page sautée, cliquez sur « Ouvrir un compte professionnel » dans les options sous « Capacités de l'auteur ». 5. Enfin, le compte professionnel Xiaohongshu sera introduit sur la page saisie. Cliquez sur ".

Xiaoyi est devenu un agent intelligent ! L'intelligence native HarmonyOS NEXT Hongmeng ouvre une nouvelle ère de l'IA Xiaoyi est devenu un agent intelligent ! L'intelligence native HarmonyOS NEXT Hongmeng ouvre une nouvelle ère de l'IA Jun 22, 2024 am 01:56 AM

Le 21 juin, la Huawei Developer Conference 2024 (HDC2024) s'est à nouveau réunie au lac Songshan, à Dongguan. Lors de cette conférence, la chose la plus frappante est que HarmonyOSNEXT lance officiellement la version bêta pour les développeurs et les utilisateurs pionniers, et démontre de manière exhaustive les trois fonctionnalités innovantes « bouleversantes » d'HarmonyOSNEXT dans tous les scénarios, l'intelligence native et la sécurité native. Intelligence native HarmonyOSNEXT : ouvrir une nouvelle ère de l'IA Après avoir abandonné le framework Android, HarmonyOSNEXT est devenu un système d'exploitation véritablement indépendant d'Android et d'iOS, ce que l'on peut qualifier de renaissance sans précédent. Parmi ses nombreuses nouvelles fonctionnalités, l’intelligence native est sans aucun doute la nouvelle fonctionnalité qui peut le mieux apporter aux utilisateurs des sensations intuitives et des améliorations d’expérience.

See all articles