Laravelを使ってREST APIを作ってみるお話 (インストール編)

  • このエントリーをはてなブックマークに追加

今回のゴール

今回はComposerからLaravelをインストールし、webサーバーで表示され、データベースの構築が行えるまで。

(REST APIなので本当はwebサーバーで表示される必要はないですが…)

Laravelのインストール

以前のエントリーでPHPとLaravelをWindowsにインストールしているので、そこからLaravelをインストール作業を来ないます。

インストール前に

Windows版のPHPを入れたのですが、php.iniの設定を一部変更する必要があります。

これを記述しておいてください
また、実際のサーバーとWindowsのPHPのバージョンはできるだけ合わせておいた方が安全です。

インストールを行う

インストールしたい場所でターミナルを開き

と入力すると自動的にlaravel-testというフォルダを生成され、Laravelをインストールしてくれます。

その後は[.env]ファイルが生成されていることを確認し、作成されたフォルダに入り、

をターミナル上から入力してください。

もし[.env]ファイルがない場合は[.env.exsample]を[.env]にコピーしてください。

フォルダのパーミッションを確認する

「/storage/logs」「/storage/framework/」内の仮想フォルダを確認し、apacheやnginxが書き込める権限に変更します。

webサーバーにアップし、確認する

https://xxxxxxxxx.xxxx/laravel-test/public/


上記の画面が表示されればOKです。お疲れ様でした。

 

データベースの設定を行う。

Laravelのマイグレーションを使用してテーブルなどを設定します。

環境設定にデータベース接続情報を記述する

[.env]にある項目にデータベース接続情報を記述する

【注意】基本的に.envはサーバーに保管するのでGitやSubversionなどのファイル管理に含むかどうか気をつけましょう

元々のマイグレーションファイルは不要なので削除します。

マイグレーションファイルの作成

「php artisan make:migration create_users_table」と入力すると「database/migrations」に新たにマイグレーションファイルが作成されます。

マイグレーションファイルの編集

up()関数でテーブルのクリエイト、down()関数でテーブルの削除となるので、テーブルのフィールドを変更します。

に変更しました。
なんとなく感覚でわかるかと思いますが、string = varchar型で、timestampsと記述すると自動的に[create_at][updated_at]をtimesampで作成してくれます。
これをテーブルごとに作成し、描きのコマンドで実行すると

という感じになります。
記述が間違っているとエラーになりますのでご注意ください。

phpMyAdminで見てみると

なんと簡単に作成できました。

フィールドを追加する場合

運用している上でフィールドを追加したい場合がありますが、その場合もマイグレーションで作成できます。

ファイル名はわかりやすくしています。
すると先ほどと同様にマイグレーションファイルが生成されるので、以下のように編集を行います。

up()関数でnameの後ろにemailを追加しています。
ちなみにdown()関数にはemailを削除する記述をしています。

これを同様に実行すると

となり、


nameが追加されます。

ちなみに追加したものを戻したい場合は

と「:rollback」をつけることで作成したファイルのdown()関数を実行します。
少しややこしいですが

  1. 2022_03_11_081637_create_users_table
  2. 2022_03_11_084714_add_users_table_add_coloumns
の順でマイグレーションを行った場合、ロールバックを行うと、まず「2」のロールバックが行われ、次にrollbackを行うと1のロールバックが行われます。

例の場合はテーブル作成→カラム追加となるので、ロールバックを行うと「カラム削除→テーブル削除」となります。(もちろんdown()関数にきちんと処理を書いている必要がありますが)

 

最後に

本当はxamppなどの説明を行った方がよかったかなと思いますが、とりあえずComposerからインストールして色々とできるところまで進めました。

テーブル設計は本当に楽にできるなと思う反面、レンタルサーバーなどでどこまで自由に作れるのかが少し心配な側面があります。

次回はいよいよREST APIとして実装できればいいなと思います。

 

執筆者:松本[ エンジニア ]

関連記事

マークアップ

WEBサイトのアクセシビリティ対応をしてみよう!【ダイアログ(モーダルウィンドウ)編】

以前公開した WEBサイトのアクセシビリティ対応では、全体的な考え方について触れました。 今回はその中でも利用頻度の高いダイアログ(モーダルウィンドウ)に焦点を当てて解説します。 ダイアログは、入力フォームの送信確認や画像の拡大表示など、Webサイトでよく利用される便利な仕組みです。 しかし、アクセシビリティ対応が不十分なまま実装されるケースも少なくありません。 特にキーボードだけで操作するユーザーや、スクリーンリーダーを利用するユーザーにとっては、誤ったダイアログの実装が操 […]

WordPress

アンケートフォームをホームページに設置できるWordPressプラグインの活用事例4選

WordPressでアンケートフォームを作成したい!けれどきちんと日本語対応しているプラグインが見つからない…と思ったことはありませんか? 弊社でリリースをしたフォーム作成作成プラグイン「Easy Form Maker」であれば、完全日本語対応で、通常のお問い合わせフォームだけでなく、アンケートフォームの作成を行うことができます。 今回は、実際にどんなアンケートフォームが作成できるかご紹介します。 目次1 Easy Form Makerって?2 イベントなどのフィードバックア […]

WordPress

カレンダーをホームページに表示できるWordPressプラグインの活用事例4選

イベントのお知らせをカレンダー形式で掲載したいけれど、なかなかWordPressの日本語プラグインでピッタリなものが見つからない…と思ったことはありませんか? 弊社でリリースをしたWordPressのイベントカレンダープラグイン「Event Calendar Maker」であれば、完全日本語対応で、ホームページ上に簡単にイベントカレンダーを掲載することができます。 今回は、実際にどんなシーンでこのカレンダーが活用できるのかをご紹介します! 目次1 Event Calendar […]

株式会社8bit (エイトビット)

東京都目黒区でWebサイト制作、Webシステム開発などを行っております。
コーポレートサイトやWebサービスの企画・提案を得意としており、自社での経験を元にアイデアをカタチにするお手伝いをさせていただいております。

Web制作に関するご相談はお気軽にどうぞ

弊社に制作をご依頼いただく際の費用感をご確認いただける、
見積りシミュレーションをご用意いたしました。