【问题标题】:How to import a class in a controller of CakePHP 2.0?如何在 CakePHP 2.0 的控制器中导入一个类?
【发布时间】:2012-07-05 07:29:47
【问题描述】:

我正在使用 CakePHP。我创建了一个既不是模型也不是控制器的外部类。类的结构是这样的

类上传图片{ 函数sayHello(){ 返回“哈哈哈”; } }

我把类保存在App->Lib目录下,命名为UploadImage.php

我想在我的控制器中调用 sayHello() 方法,即:

类 ContentsController 扩展 AppController { public $helpers = array('Html', 'Form'); 公共函数索引(){ $test = App::uses('UploadImage','Lib'); 调试($test->sayHello()); } }

现在当我运行上面的页面时,我收到以下错误:

错误:在非对象上调用成员函数 sayHello()

【问题讨论】:

    标签: cakephp cakephp-2.0 cakephp-2.1


    【解决方案1】:

    App::uses() 是您放置在文件开头的语句

    你仍然需要在 php5 中编程——这意味着你必须使用new

    App::uses('UploadImage','Lib');
    class ContentsController extends AppController {}
    

    在你的方法中:

    $test = new UploadImage();
    

    【讨论】:

    • 我试过了,但现在显示另一个错误:当类在 app->Lib 文件夹中时找不到类“UploadImage”
    • @madi 我遇到了和你一样的问题。根据此答案和手册,此处列出的内容应该有效。有什么理由不这样做?
    • 你应该把它放在第一行
    猜你喜欢
    • 2012-06-06
    • 2012-04-24
    • 2011-08-12
    • 2011-09-30
    • 2013-07-19
    • 2011-12-15
    • 2011-02-26
    • 2019-03-03
    • 1970-01-01
    相关资源
    最近更新 更多