2013-03-14 54 views
0

我想在我的組件中使用CustomLib。 我該怎麼做?使用組件中的庫

我嘗試App::uses('Util','Lib'),但不工作:

$number = $this->Util->sqlnum($number); 
Error: Call to a member function sqlnum() on a non-object 

回答

3

使用App ::使用()你只告訴蛋糕在哪裏可以找到類。 您仍然需要自己創建對象

$this->Util = new Util(); 
$number = $this->Util->sqlnum($number); 

基礎OOP。

您不需要這樣做的唯一情況是當您靜態訪問方法時。

public static function sqlnum($number) {} 

$number = Util::sqlnum($number); 

但是,如果這是可能取決於你的等級和該方法如何工作的。


編輯: 並完成此操作:對於模型類不同。您始終使用:

$MyModel = ClassRegistry::init('MyModel'); // never use `new MyModel()` here 

並且您不需要App :: uses()該類,因爲ClassRegistry會自行完成此操作。

+0

好的,我會試試。但是我在回來的路上搜索了一些東西,這些人不推薦使用「new Object()」。 – 2013-03-14 12:27:01

+1

對於模型是錯誤的。對於正常的類是正確的。 – mark 2013-03-14 12:30:25

+0

這是工作。朋友,謝謝。 – 2013-03-14 13:26:15