047-404-3740 info@ayane.co.jp
ページを選択

BLOG

主にWEBアプリケーションを制作するための様々なTIPSを記しています。

【フレームワークを読む】Laravelのマイグレーションファイルは何をしているのか? :その9:Console\Application::run()

いよいよ run() の実行です。 実際にコールされるのは Illuminate\Console\Application::run() です。 さっそく見てみましょう。 Illuminate\Console\Application::run() /** * {@inheritdoc} */ public function run(InputInterface $input = null, OutputInterface $output = null) { $commandName =...

【フレームワークを読む】Laravelのマイグレーションファイルは何をしているのか? :その8:Kernel::handle()

Kernel インスタンスに引数として Symfony\Component\Console\Input\ArgvInput と Symfony\Component\Console\Output\ConsoleOutput を渡して handle() メソッドがコールされました。 handle() メソッドを見てみましょう。 Illuminate\Foundation\Console\Kernel::handle() /** * Run the console application. * * @param...

【フレームワークを読む】Laravelのマイグレーションファイルは何をしているのか? :その7:migrate コマンドの実行

php artisan migrate マイグレーションを実行する際、コマンドラインから以下のコマンドを叩きます。 $ php artisan migrate コマンドが叩かれると、PROJECT_ROOT/artisan が実行されます。もう一度内容を見てみましょう。 PROJECT_ROOT/artisan #!/usr/bin/env php <?php define('LARAVEL_START', microtime(true)); /*...

【フレームワークを読む】Laravelのマイグレーションファイルは何をしているのか? :その6:スキーマビルダー

Schema::getFacadeAccessor() の static::$app['db']->connection() の戻り値が接続を確立した Connection インスタンスであるというところまでは読みました。続きを見てみましょう。 Illuminate/Support/Facades/Schema::getFacadeAccessor() /** * Get a schema builder instance for a connection. * * @param string|null...

【フレームワークを読む】Laravelのマイグレーションファイルは何をしているのか? :その1:導入

Larabelの artisan の make:migration で生成されたマイグレーションファイルは何をしているのかソースコードを読んでみます。 バージョンは 7.2.0 のものです。 【前提】 私は Larabel のクイックスタートを数回読んだくらいで全く利用経験が無いため、使い方を知るためにソースコードを読むことにしました。この記事の対象は PHP...

【フレームワークを読む】Laravelのマイグレーションファイルは何をしているのか? :その4:リポジトリの読込

$app['db'] が生成される時の流れをもう一度見てみましょう。コマンドラインから artisan コマンドが叩かれると、Illumination/Foundation/Console/Kernel::$bootstrappers[] 配列に登録されたサービスがアプリケーションコンテナで読み込まれます。この中に Illumination/Foundation/Bootstrap/RegisterProviders が含まれています。この bootstrap() メソッドには...

【フレームワークを読む】Laravelのマイグレーションファイルは何をしているのか? :その3:設定ファイルの読込について

Larabelアプリケーションの初期化の流れ artisan が叩かれると、PROJECT_ROOT/bootstrap/app.php が呼び出されます。その最初で Illuminate\Foundation\Application が生成されます。 PROJECT_ROOT/bootstrap/app.php 抜粋 $app = new Illuminate\Foundation\Application( $_ENV['APP_BASE_PATH'] ?? dirname(__DIR__) );...

【フレームワークを読む】Laravelのマイグレーションファイルは何をしているのか? :その2:$app[‘db’]について

$app['db']について Schema::getFacadeAccessor() から返される戻り値 static::$app['db']->connection()->getSchemaBuilder() を見ていきましょう。 順序が逆ですが、マイグレーションファイルを利用する時、artisan の migrate を利用します。artisan 自体の考察は範囲が広くなってしまうので別の機会にしたいと思いますが、static::$app['db'] について観察するために artisan...

【フレームワークを読む】Laravelのマイグレーションファイルは何をしているのか? :その5:データベース接続

PROJECT_ROOT/config/app.php の providers には、 Illuminate\Database\DatabaseServiceProvider が記述されています。このプロバイダーが初期化時に読み込まれ、register() メソッドがコールされます。 Illuminate\Database\DatabaseServiceProvider::register() | 関連メソッド /** * Register the service provider. * * @return...

【PHP】代入式の値

PHP でif文等で代入演算子自体を評価しているのを見かけます。どんな挙動をするのかechoで試してみましょう。 echo($xion = 'HELLO XION!!!'.PHP_EOL); echo('BYE');   実行結果は以下です。 HELLO XION!!! BYE   代入式自体の戻り値は代入した値が返ってきます。 便利ですね。...