Schema::create('news_feeds', function(Blueprint $table) {
//^ ^ ^ ^ ^ ^
//| | | | | |
//| | | | | -- 1st function param.
//| | | | -- Typehint for 1st function param.
//| | | -- Second method argument
//| | -- First method argument
//| --Method Name
//--Class Name
});
あなたはLaravelのようなフレームワーク上にいるので、PHP自体には何の振る舞いもないことを理解する必要があります。
理解できないコードは、と呼ばれ、よくcallback
として使用されます。楽屋で
は、Laravelはこれをやっている:
は
- さて、彼は
news_feeds
- が
Blueprint
オブジェクトを作成することができますと呼ばれるテーブルを作成するために、Schema::create
と呼ば
- 私は変更のユーザーに、このオブジェクトをお送りします。
callback
が実行されると、Blueprintが実際にデータベース上に作成されます。ここではBlueprintが実行されます。
これがどの程度正確に行われているか知りたい場合は、クラスIlluminate\Database\Schema\Builder
にアクセスし、方法create
を探してください。私が話したメソッドを作成する段階で
PHPStormのようなIDEを使用して、あなたの人生を容易にするために、あなたはctrl+b
ショートカットを使用して簡単な方法でメソッド、クラスや変数を追跡することができます...
public function create($table, Closure $callback)
{
$blueprint = $this->createBlueprint($table);
$blueprint->create();
$callback($blueprint);
$this->build($blueprint);
}
ルック君は。
http://php.net/manual/en/functions.arguments.php#functions.arguments.type-declaration – Clive
これらは関数の引数です。クラスは、変数名がインスタンスを表す型です。 – Kateract
変数$ somevarは、種類がSomeClassである必要があります。そうでない場合例外がスローされます – jrenk