Artisanって聞くけどなんだろう。
皆さんはこんな疑問を持ったことはありますか?
使い方がよくわからない…
どんなことができるの?
こんな疑問を抱いた方もいらっしゃるかもしれません。
今回はそんなArtisanについて
・Artisanとはどのようなものなのか
・どういうことができるのか
など皆さんの疑問を解決していきます!
目次
Artisanとは
ArtisanはLaravelで使われるCLIの一つ
皆さん、CLI(コマンドラインインターフェース)というものはご存じでしょうか?
CLIとはキーボードのみでパソコンなどの操作(ファイル作成・削除など)をするもののことで、コマンドプロンプトなどがCLIにあたります。
CLIはCUI(キャラクターユーザーインターフェース)ともいうので、こちらは聞いたことがある人もいるかもしれませんね。
ちなみに、普段私たちがパソコンを使うときはマウスを使ってファイルを開いたりしますよね。
そういったものはGUI(グラフィカルユーザーインターフェース)といいます。
ではArtisanとは何かについて。
ArtisanとはPHPのフレームワークであるLaravel(ララベル)で使われるCLIの一つです。
では、具体的にはどのような用途なのか。
それについて次項で説明していきます。
Artisanの用途について
Artisanの用途を知っていただくにあたり、まずはLaravelとはどういったものなのかを知っていただきたいので、先にLaravelについて説明していきます。
先程も少しお伝えしたとおりLaravelとはPHPのフレームワークの一つで、簡単に高品質なWebサービスを作ることができます。
ArisanはLaravelでWebサービスを作る際の設定やコードを簡単なコマンドで実装できるものとなっております。
構文
Artisanのコマンドを使用する際の構文は以下の通りとなっております。
1 |
php artisan コマンド |
この構文が基本となりますので覚えておきましょう。
コマンドの一例
前項ではArtisanの大まかな説明をしてまいりました。
ここからは実際にどのようなコマンドがあるのか、どういった設定ができるのかについて一例を説明していきます。
コマンド一覧の表示
1 |
php artisan list |
このコマンドは使えるArtisanコマンドの一覧を表示するものです。
どんなコマンドがあるのか確認したいときはこのコマンドでも確認できるのですが、下記のコマンドでも確認できます。
1 |
php artisan |
こちらのコマンドの方がlistの部分を打たなくて良い分早く確認することができますが、お好みでお使いいただければと思います。
ヘルプの表示
1 |
php artisan help コマンド |
このコマンドはコマンドの使い方を確認するものです。
また、こちらももう一つ確認方法があり、
1 |
php artisan コマンド -h |
このようにphp artisan コマンド の後ろに-hをつけることで使用したいコマンドの使い方を確認できます。
モデル
モデルとはどういったものか説明する前にMVCモデルについて説明していきます。
MVCモデルとはWebシステムを開発する際にモデル(Model)、ビュー(View)、コントローラー(Controller)の3つに分けて開発を行う考え方のことを言います。
ModelのM、ViewのV、ControllerのCの頭文字をとってMVCです。
次にモデル、ビュー、コントローラーについて説明していきます。
モデルとはユーザーからは見えない裏のシステムの部分のことで、主にデータベースとのやり取りをしています。
ビューはユーザーから見えるシステムの部分を表し、テキストボックスなどユーザーからの入力の処理を行う部分を言います。
コントローラーとはモデルとビューの橋渡しを行うもので、ユーザーからの入力をモデルに伝え、モデルとビューの制御を行っています。
Artisanではこのモデルの部分を作成するコマンドがあり、それが下記のコマンドです。
1 |
php artisan make:model ファイル名 |
このコマンドを実行することでモデルのテンプレートが作成されます。
ファイル名は「ファイル名.php」となっており、中にテンプレート文が記述されています。
マイグレーション
マイグレーションとはデータベースへのテーブル定義を管理するもので、マイグレーション機能によってSQL(データベースを構築する際の言語)についての知識がなくてもデータベースを構築することができます。
流れとしては
- マイグレーションファイルの作成
- マイグレーションの実行
となっております。
1.マイグレーションファイルの作成
まずはマイグレーションファイルの作成方法について説明していきます。
マイグレーションファイルを作成するときは下記のコマンドを使用します。
1 |
php artisan make:migration ファイル名 |
これでファイル名で指定した名前のマイグレーションファイルを作成することができます。
また、文の後ろにオプションを付与することでマイグレーションファイルの作成と同時にテーブルを作成したり、テーブルの構造を変更したりすることができます。
新規テーブルの作成
1 |
php artisan make:migration ファイル名 --create=テーブル名 |
新規テーブルを作成するマイグレーションファイルを作る際にはこのようなコマンドを実行します。
例として
1 |
php artisan make:migration create_test_table --create=test |
と実行すると下記のようなファイルが作成されます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
<?php use Illuminate\Support\Facades\Schema; use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; class CreateTestTable extends Migration { /** * Run the migrations. * * @return void */ public function up() //migrate実行時の処理 { Schema::create('test', function (Blueprint $table) { $table->increments('id'); $table->timestamps(); }); } /** * Reverse the migrations. * * @return void */ public function down() //rollback実行時の処理 { Schema::dropIfExists('test'); } } |
またテーブルにカラムを追加する際、例えば
ユーザ名(UserName、文字列型)、ユーザ番号(UserNo、整数型)、コメント(Comment、文字列型)
を追加したい場合、
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
<?php use Illuminate\Support\Facades\Schema; use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; class CreateTestTable extends Migration { /** * Run the migrations. * * @return void */ public function up() //migrate実行時の処理 { Schema::create('test', function (Blueprint $table) { $table->increments('id'); $table->string('UserName'); //ユーザ名 $table->integer('UserNo'); //ユーザ番号 $table->string('Comment'); //コメント $table->timestamps(); }); } /** * Reverse the migrations. * * @return void */ public function down() //rollback実行時の処理 { Schema::dropIfExists('test'); } } |
このように記述します。
既存テーブルの構造を変更
1 |
php artisan make:migration ファイル名 table=テーブル名 |
既存テーブルの構造を変更するマイグレーションファイルを作る場合はこのようなコマンドを実行します。
例として
1 |
php artisan make:migration table_test_table --table=test |
と実行すると下記のようなファイルが作成されます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
<?php use Illuminate\Support\Facades\Schema; use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; class TableTestTable extends Migration { /** * Run the migrations. * * @return void */ public function up() //migrate実行時の処理 { Schema::table('test', function (Blueprint $table) { // }); } /** * Reverse the migrations. * * @return void */ public function down() //rollback実行時の処理 { Schema::table('test', function (Blueprint $table) { // }); } } |
また、このマイグレーションを実行し既存テーブルにカラムを追加したい場合、
例えばグループ(Group、文字列型)というカラムを追加したい場合は
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
<?php use Illuminate\Support\Facades\Schema; use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; class TableTestTable extends Migration { /** * Run the migrations. * * @return void */ public function up() //migrate実行時の処理 { Schema::table('test', function (Blueprint $table) { $table->string('Group'); //グループ }); } /** * Reverse the migrations. * * @return void */ public function down() //rollback実行時の処理 { Schema::table('test', function (Blueprint $table) { // }); } } |
このように記述します。
2.マイグレーションの実行・ロールバック
次にマイグレーションの実行方法を説明していきます。
マイグレーションの実行
1 |
php artisan migrate |
このコマンドを実行すると作成したマイグレーションファイルのUPファンクションの部分を実行します。
マイグレーションのロールバック
1 |
php artisan migrate:rollback |
このコマンドを実行すると最後にマイグレーションを実行する前の状態に戻します。
マイグレーションファイルでいいますとDownファンクションの部分を実行します。
データベースのリフレッシュ
1 |
php artisan migrate:refresh |
このコマンドを実行すると一度すべてのテーブルを削除し、その後もう一度マイグレーションしていきます。
まとめ
今回はArtisanについてや、よく使われるコマンドについて説明してまいりましたがいかがでしたでしょうか?
今回紹介したコマンド以外にもたくさんのコマンドがあったり、自分でコマンドを作ることもできるので、またご興味があれば見てみてください。