Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.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动态加载组件_Php_Cakephp - Fatal编程技术网

cakephp动态加载组件

cakephp动态加载组件,php,cakephp,Php,Cakephp,我想在cakePHP中动态加载组件 在本例中,为json响应动态加载RequestHandler组件 public function xyz() { $this->components[] ='RequestHandler'; $this->Components->load('RequestHandler'); $this->RequestHandler->initialize($this); $abc = array("hell

我想在cakePHP中动态加载组件 在本例中,为json响应动态加载RequestHandler组件

public function xyz() {

    $this->components[] ='RequestHandler';
    $this->Components->load('RequestHandler');
    $this->RequestHandler->initialize($this);

    $abc = array("hello","world");
    $this->set('abc', $abc);
    $this->set('_serialize', array( 'abc'));
}
初始化函数时生成的错误显示未定义

更清晰的图片修订: 我也试过了

public function xyz() {

    $this->RequestHandler =  $this->Components->load('RequestHandler');
    $abc = array("hello","world");
    $this->set('abc', $abc);
    $this->set('_serialize', array( 'abc'));
}
我不能使用这样的组件$this->RequestHandler->getTime;因为cakephp自动处理json响应。 当我使用

{代码:500,url:/resources/xyz.json,名称:查看文件 /缺少var/www/disecake/app/View/Resources/xyz.ctp。}

当我使用 public $components = array( 'RequestHandler'); 在我的电脑里比输出还多

{"abc":["hello","world"]}
我想现在问题更清楚了。

CakePHP书中有一个章节叫做动态加载组件

CakePHP 2.x:

CakePHP 3.x:


这与您尝试的方式不同

CakePHP书中有一个章节叫做动态加载组件

CakePHP 2.x:

CakePHP 3.x:


它的执行方式与您尝试的方式不同

初始化函数生成的错误显示未定义。谢谢,不客气。请不要了,谢谢questions@EliasVanOotegem-常见问题已不在我们之中。我们现在有了一个帮助中心。您能编辑问题并使用剪贴板复制和粘贴准确的错误消息吗?初始化函数生成的错误显示未定义。谢谢,不客气。请不要了,谢谢questions@EliasVanOotegem-常见问题已不在我们之中。我们现在有了一个帮助中心。您能编辑问题并使用剪贴板复制和粘贴准确的错误消息吗?关于文档,您是对的。但我亲爱的朋友,这份文件并没有如预期的那样有效。在我的例子中,我需要json响应,并且我遵循您给定的文档说明,它显示相关视图xyz.ctp不存在。若我通过在控制器顶部定义来加载RequestHandler组件,它将提供正确的输出。我想你明白我的问题了。请注意,在你给定的文档和我的代码中,在你的文档中使用了$this->OneTimer->getTime;但在我的例子中,cakePHP会自动将该组件用于输出。@AmitKumarSharma您的问题是如何动态加载该组件,而不是如何返回JSON数据。如果您在JSON方面遇到问题,请问一个新的、更相关的问题。我可以使用$this->response手动返回数据。但我想使用组件,该组件需要处于动态状态,因为我的控制器只有一个功能会使用它component@AmitKumarSharma-对。这就是为什么您应该按照CakePHP手册中的说明来阅读我的答案/链接。关于文档,您是对的。但我亲爱的朋友,这份文件并没有如预期的那样有效。在我的例子中,我需要json响应,并且我遵循您给定的文档说明,它显示相关视图xyz.ctp不存在。若我通过在控制器顶部定义来加载RequestHandler组件,它将提供正确的输出。我想你明白我的问题了。请注意,在你给定的文档和我的代码中,在你的文档中使用了$this->OneTimer->getTime;但在我的例子中,cakePHP会自动将该组件用于输出。@AmitKumarSharma您的问题是如何动态加载该组件,而不是如何返回JSON数据。如果您在JSON方面遇到问题,请问一个新的、更相关的问题。我可以使用$this->response手动返回数据。但我想使用组件,该组件需要处于动态状态,因为我的控制器只有一个功能会使用它component@AmitKumarSharma-对。这就是为什么您应该按照CakePHP手册中的说明来阅读我的答案/链接。 {"abc":["hello","world"]}