CakePHP 2.x 升级3.0,cakephp2.x升级3.0
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中加入关联键???
此升级手顺会持续更新中~~~~~~

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











이번 장에서는 CakePHP의 환경 변수, 일반 구성, 데이터베이스 구성, 이메일 구성에 대해 알아봅니다.

Conda가 Python 버전을 업그레이드하는 몇 가지 방법에는 특정 코드 예제가 필요합니다. 개요: Conda는 Python 패키지 및 환경을 관리하기 위한 오픈 소스 패키지 관리자이자 환경 관리 시스템입니다. Python을 사용하여 개발하는 동안 새 버전의 Python을 사용하려면 이전 Python 버전에서 업그레이드해야 할 수도 있습니다. 이 기사에서는 Conda를 사용하여 Python 버전을 업그레이드하는 여러 가지 방법을 소개하고 특정 코드 예제를 제공합니다. 방법 1: condainstall 명령 사용

CakePHP에서 데이터베이스 작업은 매우 쉽습니다. 이번 장에서는 CRUD(생성, 읽기, 업데이트, 삭제) 작업을 이해하겠습니다.

numpy 버전 업그레이드 방법: 따라하기 쉬운 튜토리얼, 구체적인 코드 예제 필요 소개: NumPy는 과학 컴퓨팅에 사용되는 중요한 Python 라이브러리입니다. 효율적인 수치 연산을 수행하는 데 사용할 수 있는 강력한 다차원 배열 객체와 일련의 관련 함수를 제공합니다. 새 버전이 출시되면 새로운 기능과 버그 수정이 지속적으로 제공됩니다. 이 문서에서는 설치된 NumPy 라이브러리를 업그레이드하여 최신 기능을 얻고 알려진 문제를 해결하는 방법을 설명합니다. 1단계: 처음에 현재 NumPy 버전을 확인하세요.

1. 아래와 같이 win+x 단축키를 사용하여 메뉴를 열고 [명령 프롬프트(관리자)(A)]를 선택합니다. 2. 명령 프롬프트 인터페이스에 들어간 후 [ipconfig/flushdns] 명령을 입력하고 Enter를 누릅니다. 3. 그런 다음 아래 그림과 같이 [netshwinsockresetcatalog] 명령을 입력하고 Enter를 누릅니다. 4. 마지막으로 [netshintipreset] 명령을 입력하고 Enter를 누르고 컴퓨터를 다시 시작하면 인터넷에 액세스할 수 있습니다. , 아래 그림과 같이:

많은 친구들이 Xiaohongshu에서 프로페셔널 계정으로 업그레이드하는 방법을 알고 싶다고 말했습니다. 여기서는 관심 있는 친구들이 와서 저와 함께 살펴볼 수 있는 운영 방법을 소개하겠습니다. 휴대폰에서 "Little Red Book" 앱을 열고 입력 후 오른쪽 하단에 있는 "내" 옵션을 클릭한 다음, 마이 페이지 왼쪽 상단에 있는 "가로선 세 개" 아이콘을 찾아 클릭하여 엽니다. 그것. 2. 메뉴창이 나오며, 해당 메뉴에서 '창작센터' 항목을 클릭하여 입장합니다. 3. 다음으로, 입력한 페이지의 "제작 서비스" 아래 옵션에서 "추가 서비스"를 찾아 클릭하여 들어갑니다. 4. 페이지가 이동한 후 "작성자 기능" 아래 옵션에서 "전문가 계정 열기"를 클릭하세요. 5. 마지막으로 입력한 페이지에 Xiaohongshu Professional Account가 소개됩니다.

6월 21일, 화웨이 개발자 컨퍼런스 2024(HDC2024)가 둥관 송산호에서 다시 모였습니다. 이번 컨퍼런스에서 가장 눈길을 끄는 점은 HarmonyOSNEXT가 개발자와 선구적인 사용자를 위한 베타를 공식적으로 출시하고 모든 시나리오, 기본 인텔리전스 및 기본 보안에서 HarmonyOSNEXT의 세 가지 "최고의" 혁신 기능을 포괄적으로 시연한다는 것입니다. HarmonyOSNEXT 네이티브 인텔리전스: 새로운 AI 시대를 열다 HarmonyOSNEXT는 안드로이드 프레임워크를 버리고 안드로이드와 iOS로부터 독립된 진정한 독립 운영체제가 되었으며, 이는 전례 없는 재탄생이라고 할 수 있습니다. 많은 새로운 기능 중에서 네이티브 인텔리전스는 의심할 여지 없이 사용자에게 직관적인 느낌과 업그레이드 경험을 가장 잘 제공할 수 있는 새로운 기능입니다.

CakePHP는 PHP용 오픈 소스 프레임워크입니다. 이는 애플리케이션을 훨씬 쉽게 개발, 배포 및 유지 관리할 수 있도록 하기 위한 것입니다. CakePHP는 강력하고 이해하기 쉬운 MVC와 유사한 아키텍처를 기반으로 합니다. 모델, 뷰 및 컨트롤러 gu
