0

一部のコードの明確さを探しているだけです。

私はコントローラ クラスを見ています。これには $grid という名前の保護された変数があり、その中に MongoDB に接続するための __construct 関数があり、その後に次のコードがあります。

$this->grid = $mongo->selectDB($database)->getGridFS();

さらに別のクラスとメソッドのスクリプトで、コードがあります

 foreach ($this->grid->find() as $file) {

foreach が最初に定義された $this->grid である $monmgo->selectDB を使用していると考えるのは正しいですか?

どうもありがとう

4

1 に答える 1

0

、、およびメソッド呼び出しチェーンは、PHP における基本的なオブジェクト指向実装の概念であるため、 PHP5 のオブジェクトとクラスについて読む価値があります。__construct()$this

コード例では、PHP メソッド呼び出しが連鎖しています。つまり、1 つのメソッドの結果が次のメソッドに (左から右に) 渡されます。

 $this->grid = $mongo->selectDB($database)->getGridFS();

したがって、このコードは次のように実行されます。

$this->grid最終的に新しいMongoGridFSオブジェクトになります (戻り値の型に基づくgetGridFS().

は、MongoGridFSCursorになるMongoGridFSforeachオブジェクトfind()メソッドの結果を反復しています。

于 2012-06-27T08:32:07.010 に答える