【发布时间】:2022-01-22 12:18:15
【问题描述】:
我目前正在尝试从 3.10.2 迁移到 4.0。我已经阅读了指南,现在正在尝试解决出现的问题。
我发现这个相当神秘。
Argument 1 passed to pluginSplit() must be of the type string, array given, called in C:\path\to\app\vendor\cakephp\cakephp\src\Core\ObjectRegistry.php on line 300
我怀疑这与加载插件有关。我在堆栈跟踪中没有找到对我自己文件的任何引用:
Error in: ROOT\vendor\cakephp\cakephp\src\Core\functions.php, line 89
pluginSplit
CORE\src\Core\ObjectRegistry.php:300
Cake\Core\ObjectRegistry->normalizeArray
CORE\src\View\View.php:1091
Cake\View\View->loadHelpers
CORE\src\View\View.php:350
Cake\View\View->__construct
CORE\src\View\ViewBuilder.php:556
Cake\View\ViewBuilder->build
CORE\src\View\ViewVarsTrait.php:74
Cake\Controller\Controller->createView
CORE\src\Controller\Controller.php:687
Cake\Controller\Controller->render
CORE\src\Controller\Controller.php:530
Cake\Controller\Controller->invokeAction
CORE\src\Controller\ControllerFactory.php:79
Cake\Controller\ControllerFactory->invoke
CORE\src\Http\BaseApplication.php:229
Cake\Http\BaseApplication->handle
CORE\src\Http\Runner.php:77
Cake\Http\Runner->handle
CORE\src\Http\Runner.php:77
Cake\Http\Runner->handle
CORE\src\Http\Middleware\CsrfProtectionMiddleware.php:128
Cake\Http\Middleware\CsrfProtectionMiddleware->process
CORE\src\Http\Runner.php:73
Cake\Http\Runner->handle
CORE\src\Http\Runner.php:58
Cake\Http\Runner->run
CORE\src\Routing\Middleware\RoutingMiddleware.php:166
Cake\Routing\Middleware\RoutingMiddleware->process
CORE\src\Http\Runner.php:73
Cake\Http\Runner->handle
CORE\src\Routing\Middleware\AssetMiddleware.php:68
Cake\Routing\Middleware\AssetMiddleware->process
CORE\src\Http\Runner.php:73
Cake\Http\Runner->handle
CORE\src\Error\Middleware\ErrorHandlerMiddleware.php:119
Cake\Error\Middleware\ErrorHandlerMiddleware->process
CORE\src\Http\Runner.php:73
Cake\Http\Runner->handle
CORE\src\Http\Runner.php:58
Cake\Http\Runner->run
CORE\src\Http\Server.php:90
Cake\Http\Server->run
ROOT\webroot\index.php:40
编辑#1
第 3 行失败:
$this->loadComponent("WetKit.WetKit");
$this->viewBuilder()->setHelpers(['WetKit.Wet']);
$this->viewBuilder()->setHelpers(['Form', ['templates' => 'WetKit.wet_form']]);
$this->viewBuilder()->setTheme('WetKit');
【问题讨论】:
-
如果您查看堆栈的顶部,它与加载帮助程序有关。检查你在哪里配置助手,可能有一些定义不正确。
-
取得进展。见编辑#1。我找到了导致问题的线路。我正在使用建议的
setHelpers远离$helpers配置,看来我没有传递适当的数组结构?
标签: php cakephp cakephp-3.0 cakephp-4.x