找不到组件类XAjaxComponent


CakePHP: Component class XAjaxComponent could not be found

很抱歉写了这么长时间。我尽量把问题说得具体些。我在将cakephp2. 1.2站点迁移到cakephp2.x时遇到了一些问题。我是cakephp的新手,已经阅读并遵循cakephp网站上的迁移手册和文档。

到目前为止还好,但我只能查看徽标,和网站的背景,但没有内容被加载。我也收到一个错误:

发生内部错误。组件类XAjaxComponent找不到

在堆栈跟踪中:

"CORE/Cake/Controller/ComponentCollection.php line 53→ComponentCollection->load(string, array)XAjax的数组()"

我在手册和网站上没有看到和找到任何XAjax信息。前面的开发人员已经将XAjax作为组件数组包含在AppController中。

public $components = array( 0 => 'RequestHandler', 1 => 'Security', 2 => 'Auth',  3 => 'XAjax', 4=> 'DebugKit.Toolbar', 5 => 'Cookie', 6 => 'Session' );

在这里的某个线程中,我读到XAjax不再积极维护(上次更新是在2012年,仍在测试中)?建议使用jQuery之类的替代品?

当我浏览应用程序文件时,我发现XAjax用于调用以下函数(下面列出的顺序没有特别的顺序):

$this->XAjax->autocomplete( $param_encode, $param_hash, $conditions );
$this->XAjax->flashuploadset($this->request->data);
$this->XAjax->normalupload($this->request->data, false);
$this->XAjax->flashuploadset($this->request->data);

这些与表单有关。我找不到任何XAjax函数,也找不到任何XAjax插件或组件来调用这个类。实际上我对XAjax不是很熟悉。

我的问题是,如果我仍然想在我的cakephp网站实现XAjax,那么我应该怎么做呢?

任何形式的帮助或建议将非常感激。谢谢!

(CakePHP 3.0)如果你使用自定义组件(或者像我一样编写自己的组件),你需要在控制器的顶部指定你的命名空间,并告诉你的组件在哪里可以找到component类。我在应用程序中收到了类似的错误:

失踪的组件错误:SuperComponent无法找到。

错误:在下面的文件中创建SuperComponent类:src/Controller/Component/SuperComponent.php

<?php
class SuperComponent extends Component {
}

文件src/Controller/Component/SuperComponent.php已经存在,但我需要在顶部添加这些行(在

namespace App'Controller'Component;
use Cake'Controller'Component;