我想在我的组件中使用CustomLib 。我怎样才能做到这一点?
我尝试App::uses('Util','Lib')
,但不起作用:
$number = $this->Util->sqlnum($number);
Error: Call to a member function sqlnum() on a non-object
我想在我的组件中使用CustomLib 。我怎样才能做到这一点?
我尝试App::uses('Util','Lib')
,但不起作用:
$number = $this->Util->sqlnum($number);
Error: Call to a member function sqlnum() on a non-object
使用 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 本身就是这样做的。