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として実装できればいいなと思います。

 

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

関連記事

WordPress

WordPressの会員限定記事配信プラグイン「Simple Analytics」をリリースしました!

WordPressのイベントカレンダープラグイン「Simple Analytics」をリリースしました! ※この記事は2024年10月現在の情報です。 目次1 Simple Analyticsとは?2 こんなお悩みにおすすめです3 Simple Analyticsで できること3.1 月別・週別アクセス数3.1.1 確認できる項目3.2 ページ別アクセス数3.3 外部サイトからのアクセス数3.4 地域・デバイス別アクセス数3.5 時間帯別アクセス数3.6 ページ毎の直帰率3. […]

WordPress

WordPressの会員限定記事配信プラグイン「Limited Post Maker」をリリースしました!

WordPressのイベントカレンダープラグイン「Limited Post Maker」をリリースしました! ※この記事は2024年10月現在の情報です。 目次1 Limited Post Makerとは?2 どんなシーンで使える?3 Limited Post Makerで できること3.1 オウンドメディア、ブログの記事を会員のみに配信3.2 会員登録・ログインフォーム3.3 会員情報の管理4 使い方について5 システム要件6 導入のお問い合わせについて Limited P […]

WordPress

WordPressのフォームプラグイン「Easy Form Maker」をリリースしました!

WordPressのイベントカレンダープラグイン「Easy Form Maker」をリリースしました! ※この記事は2024年10月現在の情報です。 目次1 Easy Form Makerとは?2 どんなシーンで使える?3 Easy Form Makerで できること3.1 お問合せフォームを作成3.2 質問を自由に決めてアンケートフォームを作成3.3 Webサイトへの設置はショートコード1行3.4 問合せやアンケート結果をデータベースへ蓄積3.5 複数のフォームを設置するこ […]

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

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

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

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