2012-07-05 43 views
2

我正在使用CakePHP。我創建了一個不是模型也不是控制器的外部類。類的結構看起來像這樣如何在CakePHP 2.0的控制器中導入類?

 
class UploadImage{ 
    function sayHello(){ 
     return "hahaha"; 
    } 
} 

我在APP-> lib目錄下保存類,並將其命名爲UploadImage.php

我想調用的方法sayHello()在我的控制器是:

 
class ContentsController extends AppController { 

    public $helpers = array('Html', 'Form'); 

    public function index() { 
     $test = App::uses('UploadImage','Lib'); 
     debug($test->sayHello()); 
    } 
} 

現在,當我運行上面的頁面,我得到以下錯誤:

Error: Call to a member function sayHello() on a non-object

回答

6

App :: uses()是您放置在文件開頭的語句

您仍然必須在php5中編程 - 這意味着您必須使用new

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

,並在你的方法:

$test = new UploadImage(); 
+0

我試過,但現在它顯示另一個錯誤:類「UploadImage」未找到\t當類是在APP-> @madi我有Lib文件 – madi

+0

與你一樣的確切問題。根據這個答案和手冊,這裏列出的應該是有效的。任何它不會的原因? – usumoio

+0

你應該把它作爲第一行 – madi