0

我想在我的组件中使用CustomLib 。我怎样才能做到这一点?

我尝试App::uses('Util','Lib'),但不起作用:

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

1 回答 1

3

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

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

基础面向对象。

唯一不需要这样做的情况是静态访问方法时。

public static function sqlnum($number) {}

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

但是,这是否可能取决于您的班级以及该方法的工作原理。


编辑:并完成此操作:对于模型类,它是不同的。你总是使用:

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

并且您不需要 App::uses() 类,因为 ClassRegistry 本身就是这样做的。

于 2013-03-14T12:21:03.903 回答