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);

基本OOP。

これを行う必要がない唯一のケースは、メソッドに静的にアクセスする場合です。

public static function sqlnum($number) {}

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

ただし、それが可能かどうかは、クラスとメソッドの動作によって異なります。


編集:そしてこれを完了するには:モデルクラスの場合は異なります。あなたはいつも使用します:

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

ClassRegistry 自体がこれを行うため、クラスを App::uses() する必要はありません。

于 2013-03-14T12:21:03.903 に答える