Silexで何が起こっているのか、そして一般的な新しいish PHPの機能について深く理解したいと思っています。これは、サイレックスの文書の「使用」ページ上のコードサンプルをオフに基づいています:"use"とコントローラー関数へのパラメーターの受け渡しの違い
$blogPosts = array(
1 => array(
'date' => '2011-03-29',
'author' => 'igorw',
'title' => 'Using Silex',
'body' => '...', );
$app->get('/blog/{id}', function (Silex\Application $app, $id) use ($blogPosts) {
//do stuff
}
質問
パラメータとして
$app
と$id
を渡すとのここでの違いは何ですかを使用すると、$blogPosts
変数になりますか?また、パラメータとして、
$blogPosts
が渡されましたか?- また、より一般的には、
use ($app)
を参照してください。 の相違点は何ですか-$app
とのパラメータですか?
まだ私の頭を包み込むようにしていますが、あなたの例は間違いなく役に立ちます。 "use"は、useステートメントが*宣言されたときに存在する$ bの値を参照し、useステートメントを含む関数が*呼び出されたときに気にすることは興味深い。したがって、「使用」の種類は、それが接続されているクロージャの環境を定義します。私は '$ b =" c ";'の下で別の関数 '$ e = function($ f)use($ b){//同じもの};を呼び出して' $ e($ a) 'は" ac "私はこれを得ていますか? – patricksayshi
はい、私の更新を参照してください – greg0ire
最高の例 – user2907171