Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
要从CakePHP 3升级到CakePHP 4,需要在代码中做哪些更改?_Php_Cakephp_Upgrade_Cakephp 3.x_Cakephp 4.x - Fatal编程技术网

要从CakePHP 3升级到CakePHP 4,需要在代码中做哪些更改?

要从CakePHP 3升级到CakePHP 4,需要在代码中做哪些更改?,php,cakephp,upgrade,cakephp-3.x,cakephp-4.x,Php,Cakephp,Upgrade,Cakephp 3.x,Cakephp 4.x,如何将项目从CakePHP 3更新为CakePHP 4 我已经尝试过安装CakePHP 3.8的最新软件包,并按照CakePHP 4的升级指南将其转换为CakePHP 4 它没有正确更新,它显示错误如下 Missing Template::Error: The view for PagesController::display() was not found. Confirm you have created the file: "Pages/welcome.ctp" in one of the

如何将项目从CakePHP 3更新为CakePHP 4

我已经尝试过安装CakePHP 3.8的最新软件包,并按照CakePHP 4的升级指南将其转换为CakePHP 4

它没有正确更新,它显示错误如下

Missing Template::Error: The view for PagesController::display() was not found.
Confirm you have created the file: "Pages/welcome.ctp" in one of the following paths: /var/www/html/cake38/templates/Pages/home.ctp

在升级到4.x之前,您不必在意这两个警告(运行
composer-outleted
,它将显示您放弃的软件包)。如果它们仍然存在,请检查您的
composer.lock
文件并搜索包名,以确定需要它们的包,然后查看是否有这些包的更新版本可供您使用

您需要为升级所做的更改在迁移指南中有很多概述,这里没有必要重复这些更改。您应该执行常规升级过程,即:

  • 升级您的composer依赖项
  • 根据目标版本升级应用程序框架文件/结构(配置、二进制文件、shell等,请参见
  • 运行测试套件并修复故障
  • 一旦您使用3.8并修复了所有问题,请遵循,即:

  • 运行升级工具
  • 然后再次升级依赖项,运行testsuite,并修复故障
  • 通常,弃用消息会告诉您如何修复问题,即它们会告诉您使用什么来代替弃用的代码。如果您对一些不知道如何解决的特定的不推荐有问题,那么我建议您详细说明。要获得一些快速帮助,您最好在CakePHP Slack/IRC频道中询问


    至于
    .ctp
    文件,如果在升级到4.x后问题仍然存在,则在应用程序代码和供应商代码中搜索字符串
    ctp
    ,以找出可能仍然存在该字符串的引用的位置,这不是一个有通用解决方案的问题。

    您应该关注您所面临的确切问题,而不是要求回答您已经阅读过的迁移指南的不可靠副本。