在组件中使用Lib

时间:2013-03-14 12:07:45

标签: cakephp

我想在我的Component中使用 CustomLib 。 我怎么能这样做?

我尝试App::uses('Util','Lib'),但无效:

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

1 个答案:

答案 0 :(得分:3)

使用App :: uses(),您只能告诉Cake在哪里找到该类。 您仍然需要自己创建对象

$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本身就是这样做的。