2013-03-14 36 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