#Larave(ディレクトリ構成)
本日からLaravelを触り出したので自分の勉強記録として投稿していこうと思う。
簡単にディレクトリ構成から勉強。
(フレームワークを余り触ったことがないので混乱)
ディレクトリ構成
1 | 2 |
---|---|
app | アプリのメインとなるところ |
bootstrap | 初期処理やキャッシュ |
config | アプリの設定 |
database | データベース(マイグレーション) |
public | 画像,JS,CSS |
resources | blade(HTML的な) |
routes | アプリのURL設定など |
storage | セッションやログ |
tests | テスト用 |
vendor | Composerの依存内容 |
設定ファイル(隠しフォルダにあり)
- codeフォルダの歯車マーク押して、show hidden filesをクリック
- .envフォルダを開く
php
DB_CONNECTION=mysql
DB_HOST=localhost // 編集
DB_PORT=3306
DB_DATABASE=laravel_todo // 編集
DB_USERNAME=root
DB_PASSWORD=root // 編集 環境によって異なる 現在はAWS
dbマイグレーションとは
-
SQLを直接使わなくても、データベースを管理できるLaravelの仕組み。
-
テーブル作成の流れ
1.マイグレーションファイルを生成
2.ファイルにテーブル定義を書く
3.マイグレーションを実行し、DBに反映
※まず、1テーブル1ファイルと覚えよう
マイグレーションの生成
- ファイルの場所とファイル名のルール
database/migrations
2020_12_20_00000_todos_table.php
生成時間 アクション名 テーブル名
- ファイル生成コマンド
tarminal
php artisan make:migration todos_table
カラム名:add_カラム名_to_users_table
tarminal
php artisan migrate
全ファイルが実行される
マイグレーションの中身
-
upとdawnメソッドがある
upが実行(作成)で、downが元に戻す(削除) -
Schemaファザードを使っている
例)Schema::create テーブルを作成 -
カラムの作成はBlueprintオブジェクトのtableメソッドを使う
例)$table->string('name')名前カラムを作成!
実際にファイルを見てみる
php database/migrations/2020_12~
/**
ここでマイグレーションファイルを読み込む
*/
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateTodosTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
/*
Schemaファザードを使っている
if tableがなかったら作る
*/
if(!Schema::hasTables('todos')){
Schema::create('todos', function (Blueprint $table) {
$table->id();
$table->string('todo');
$table->date('deadline');
$table->text('comment')->nullable();
/* 100文字制限の時は('comment',100) */
$table->timestamps();
});
}
}
}
マイグレーションを実行する
tarminal
php artisan migrate
結果
tarminal
Migration table created successfully.
Migrating: 2014_10_12_000000_todos_table
Migrated: 2014_10_12_000000_todos_table (31.23ms)
error
tarminal
$ composer dump-autoload
からの再起動
とりあえずここまで。
次回に進む。