Laravel 整理その1
Laravelのディレクトリ構成
とりあえず色々とフォルダはあるけれど、 以下のものが基本的な部分で覚えておけばおーけ。
1. /.env (環境設定)
2. /config/app.php (アプリケーション 基本設定)
3. /routes/web.php (ルート定義)
4. /resources/views/ 以下 (ビュー・HTML などの表示要素を設定)
5. /app/Http/Controllers/ 以下 (コントロール/モデルを設定)
DBの設定としては.envフォルダにDBの設定等ができるようになっているので、
そこで設定。(今回のcloud9では最初からDB環境も用意されてる)
で、一旦今回は簡単な本の管理アプリを作ってみる。
取り敢えずデータベースの定義をするために
データベースマイグレーションを実行。コマンドは以下
php artisan make:migration ファイル名 --create=テーブル名
で、生成された/cms/database/migrations
のファイルに必要なカラム等を設定してく。
「up」メソッドは新しいDB、インデックス、カラムを追加するもの
「down」メソッドはupメソッドで作成したものを消す。
Laravel5.4以上には
「/app/Providers/ AppServiceProvider.php」
のファイルには以下の設定をする。
use Illuminate\Support\Facades\Schema;
Schema::defaultStringLength(191);
こちらは
Laravel5.4 以上から標準charasetがutf8mb4に変更され、
標準のvarchar(255)設定が実行されるとCloud9のMySQL バージョンではエラーになる。
上記のコードで、 varchar(191)に変更することで解消している
<?php namespace App\Providers; use Illuminate\Support\ServiceProvider; class AppServiceProvider extends ServiceProvider { /** * Bootstrap any application services. * * @return void */ use Illuminate\Support\Facades\Schema; public function boot() { Schema::defaultStringLength(191); } /** * Register any application services. * * @return void */ public function register() { // } }
upメソッドに必要なカラム等を追加したら
php artisan migrate
を実行してDBを定義する。