我想在我的Component中使用 CustomLib 。 我怎么能这样做?
我尝试App::uses('Util','Lib')
,但无效:
$number = $this->Util->sqlnum($number);
Error: Call to a member function sqlnum() on a non-object
答案 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本身就是这样做的。