コンポーネントで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);
基本OOP。
これを行う必要がない唯一のケースは、メソッドに静的にアクセスする場合です。
public static function sqlnum($number) {}
と
$number = Util::sqlnum($number);
ただし、それが可能かどうかは、クラスとメソッドの動作によって異なります。
編集:そしてこれを完了するには:モデルクラスの場合は異なります。あなたはいつも使用します:
$MyModel = ClassRegistry::init('MyModel'); // never use `new MyModel()` here
ClassRegistry 自体がこれを行うため、クラスを App::uses() する必要はありません。