雄弁なORMライブラリで次の行に出くわしました:
return with(new static)->newQuery();
以前に使用された「with」を見たことがなく、PHP ドキュメントで見つけることができません。ほとんどの検索では "with" がストップ ワードになっていると思います。
何年にもわたって PHP をプログラミングしてきましたが、"with" に遭遇したことは一度もありませんでした。それは何をするためのものか?私は、ORM に関して、「with」が PHP-5.4 では不要になったと述べたコメントを 1 つ見つけましたが、それは言われたとおりでした。それが正確であれば、PHP-5.4 の同等物が何であるかを知っておくとよいでしょう。
更新:答えを裏付ける詳細:-
Laravel の Immuminate/Support/helpers.php ヘルパー スクリプトでこのヘルパー関数を見つけました。
if ( ! function_exists('with'))
{
/**
* Return the given object. Useful for chaining.
*
* @param mixed $object
* @return mixed
*/
function with($object)
{
return $object;
}
}
いくつかの回答で述べたように。このグローバル スコープ関数により、1 つのステートメントでオブジェクトを作成し、t でメソッドを実行できます。Laravel のインストール時に composer autoload_files.php スクリプトに (どういうわけか) 登録されるため、クラスが含まれていなくても、すべてのページに読み込まれます。
皆さんありがとう。最新のフレームワークでは、すべてが名前空間付きのクラスである必要があると想定しない方が賢明です。