これからLaravel(ララベル)で掲示板を作成します。まずローカルで作成して動作確認をしたあとアップロードします。そのためにはローカルでPHPとComposerが使用できるようにしておかなければなりません。

ローカルでテストできるようにする

PHPが使えるようにするために一番手っ取り早いのはXAMPP(ザンプ)をインストールする方法です。公式サイトからダウンロードしてインストールしましょう。

次にComposerのインストールします。公式サイトからインストーラをダウンロードしてインストールします。

インストールが終わったらコマンドプロンプトで以下を実行します。

あとは適当なフォルダを作成して、そこでコマンドプロンプトで以下を実行します。これはプロジェクト名をfirstにする場合です。

これによってfirstフォルダが生成され、そのなかに必要なファイルが生成されますが、このフォルダをプロジェクトのフォルダと呼ぶことにします。

必要なライブラリのインストール

あと必要なライブラリもインストールしておきます。

このときにnpmが必要になるのでNode.jsもインストールしておきます。ここからインストーラをダウンロードしてください。

Laravelでカラムを変更できるようにするためには、doctrine/dbalというライブラリが必要です。
Laravelでフォームを使用するには、laravelcollective/htmlというライブラリが必要です。
ユーザー管理機能を追加するにはlaravel/uilというライブラリが必要です。

> よりも右側をコマンドプロンプトまたはパワーシェルで入力してください。

これで準備は整いました。

データベースの設定をする

まず掲示板を作成するためにはデータベースが必要です。データベースはMySQLではなくSQliteを使用します。そこでそのための準備をします。

まずWindowsにSQLiteがインストールされていない場合はインストールします。

SQLite公式(ダウンロードページ)にアクセスしてsqlite-tools-win32-x86-XXXXXXX.zipのリンクをクリックしてzipファイルをダウンロードします。そしてこれを解凍したら適当なフォルダにコピーします。そしてコマンドプロンプトでsqlite3とタイプしたら実行できるようにパスを通しておきます。

これで(プロジェクトのフォルダ)\databaseのなかを見てみるとdatabase.sqliteというファイルが生成されていることが確認できます。

次にプロジェクトのフォルダのなかに.envというファイルがあります。このなかに

と書かれている部分があります。これを以下のように変更します。DB_CONNECTION=sqlite と書き換えて、それ以外のDB_何とかと書かれている行の先頭に # をつけます。

モデルとコントローラの作成

次にデータベースにテーブルを作成します。Articleというモデルとマイグレーション、コントローラを作成するためにはプロジェクトのフォルダで以下を実行します。

を実行します。

そのあと(プロジェクトのフォルダ)\app\Modelsを確認してみるとArticle.phpというファイルが生成されていることがわかります。また(プロジェクトのフォルダ)\app\Http\ControllersのなかにはArticleController.phpというファイルが生成されています。そして(プロジェクトのフォルダ)\database\migrationsのなかには(実行日時)_create_articles_table.phpというファイルが生成されていることが確認できます。

次にここで書かれている内容をデータベースに反映させます。そのためにはプロジェクトのフォルダで以下を実行します。

テーブルにカラムを追加する

ところであとになってデータベースのテーブルにカラムを追加したくなることがあるかもしれません。例えばユーザーネームやタイトルを追加したくなるかもしれません。その場合は以下を実行します。

すると(プロジェクトのフォルダ)\database\migrations\(実行日時)_add_column_username.phpというファイルが生成されます。ただしこの処理をするためには前述したとおり、doctrine/dbalというライブラリが必要です。

コマンドを実行したらマイグレーションファイルを編集します。

ここではarticlesテーブルにuser_nameカラムとtitleカラムを追加しています。

(プロジェクトのフォルダ)\database\migrations\(実行日時)_add_column_username.php

そして編集が終わったらマイグレーションを実行します。

カラムが追加されたことを確認する

実際にカラムが追加されたかどうかを確認してみましょう。Laravelにはartisan tinkerというコマンドラインインターフェイスがあります。これを使うと、Laravelアプリの環境を有効にしたまま、Laravelの機能をコマンドで操作できます。

プロジェクトのフォルダで以下を実行します。

artisan tinkerを起動したあと、articlesテーブルのすべてのデータを取り出すのであれば以下を実行します。

するとデータが存在するのであれば(掲示板に投稿する処理自体つくっていないのでデータは存在しないはずなのですが…)以下のように表示されます。

終了するときはCtrl+Cです。