システム開発

【Laravel入門者向け】Laravel6系+PHP7.4でMVCの流れをサクッと試す (Mac編)

PHPのフレームワークで最近人気のLaravel

多くの人が利用しているフレームワークのため勉強しやすく扱いやすいのが特徴ですが、Laravel入門者はその扱いに戸惑うこともあるでしょう。

この記事では、そんなLaravel入門者向けにMVCをスピード重視で試す手順を解説していきます。

・Laravel入門者でそのポイントについて知りたい方
・Laravelでアプリケーション設定をしたい方

これらに当てはまる方におすすめの記事です。これを読めば入門者の方でもLaravelでの開発が行えますよ!

Laravelの開発環境の構築方法

Laravelの開発環境の構築方法は大きく以下の4つがあります。

  • PHPのビルトインサーバーを使う (ローカルPC上に構築)
  • Laravel Homesteadを使う (Vagrant上に構築)
  • Laradockを使う (Docker上に構築)
  • Docker環境を自作する (Docker上に構築)

おすすめ!PHPのビルトインサーバーを使う(ローカルPC上に構築)

結論から言うと、入門者はこのビルトインサーバーを使う方法が一番オススメです。

PHP5.4から内蔵されているWebサーバーを使ってLaravelを動かす方法で、
Laravelでひとまず開発を進めたい場合には十分です。(本番環境では必ずNginx等のWebサーバーを用意しましょう)

Laravel Homesteadを使う(Vagrant上に構築)

Laravel Homesteadは公式サイトで推奨されているものの、手間がかかる手法です。

仮想環境といえば最近はDockerを使うプロジェクトが多いので、HomesteadのためだけにVirtualBoxを入れたりVagrantを学習をするのは大変です。

またHomestead自体にも少なからず学習コストがかかってしまいます。

Laradockを使う(Docker上に構築)

Laradockはインフラに詳しくない人でも、Docker上にLaravelを構築することができるツールです。

Laravel以外のフレームワークにも幅広く対応したおかげで、コード量が膨大で解読が難しく、ハマった時に時間がかなり取られるためオススメしません。

Docker環境を自作する (Docker上に構築)

仮想環境を構築するのであればDockerの扱いに慣れておいた方が他のプロジェクトでも便利です。

しかし仮想環境を一から構築するのは手間と時間がかかるため、ビルトインサーバーで早く開発を進めてしまい、
Laravelに慣れてきてからDocker環境を自作するのが良いかと思います。

バージョンはLaravel6系がオススメ

Laravelの最新バージョンは7系ですが 2020年3月3日にリリースされたばかりであり、執筆時点(2020年4月3日)では長期サポートの対象となっているのは6系です。

今から本番運用も考えて始めるならば、6系をオススメします。

PHPのバージョン管理ツール

PHPのバージョン管理ツールはphpenvphpbrewが有名ですが、これが意外と落とし穴です。

どちらのツールを使った場合でも、PHP7.4をインストールする際に依存ライブラリでハマる場合が多く非常に面倒です。

特にphpenvの場合はrbenvと競合してしまう問題もあります。結論として、PHP7.4はHomebrewでインストールしましょう。

HomebrewはPHPの依存ライブラリも自動で解決してくれますし、複数のバージョンの切り替えも可能です。

Laravel入門者向けにMVCをスピード重視で試す手順

ここからいよいよLaravel6系+PHP7.4でMVCを試していきましょう。

1.PHP7.4をHomebrewでインストール

まずは下記コマンドでインストール可能なPHPのバージョンを確認します。

brew search php@7

以下のような画面が表示されるかと思います。

次に下記コマンドでPHP7.4をインストールします。

brew install php@7.4

依存ライブラリが多く、数分はかかるので気長に待ちましょう。

2.PHP7.4を有効化

次に下記コマンドでPHPのパスを通します。
zsh以外を利用している場合は適時書き換えてください。

echo 'export PATH="/usr/local/opt/php@7.4/bin:$PATH"' >> ~/.zshrc 
echo 'export PATH="/usr/local/opt/php@7.4/sbin:$PATH"' >> ~/.zshrc 
source ~/.zshrc 

有効化が完了したら、下記コマンドでPHPのバージョンを確認します。

php -v

以下のように7.4系がインストールされていればOKです。

3.Laravelプロジェクトを作成

まず次のコマンドでcomposerをインストールします。

brew install composer

次に下記コマンドでlaravel6系のプロジェクトを作成します。

composer create-project --prefer-dist laravel/laravel laravel_sample "6.*"

create-projectはgit clonecomposer installを同時に行ってくれるコマンドです。
また--prefer-distをオプションで指定するとzip形式でダウンロードできるので通常より高速になります。

4.ビルトインサーバーを起動

プロジェクトの作成が完了したら、下記コマンドでサーバーを起動します。

cd laravel_sample 
php artisan serve

起動が完了したら、
http:localhost:8000にアクセスします。

以下のような画面が表示されればOKです。


5.Laravel用のデータベースを作成

次にモデルからのデータベース接続を試したいので、 下記コマンドでLaravel用のデータベースを作成します。

mysql -u root -p 
mysql> create database laravel; 

config/database.phpを確認すれば分かりますが、
環境変数のDB_DATABASEにデフォルトでlaravelが指定されています。

6.トップ画面用のコントローラーを追加

トップ画面の表示をカスタマイズするため、下記コマンドでコントローラーを追加します。

php artisan make:controller HomeController

これでapp/Http/Controllers以下にHomeController.phpが作成されます。

7.トップ画面のルーティング先をコントローラーアクションに変更

次にroutes/web.phpを以下のように編集します。

Route::get('/', 'HomeController@index');

これでトップ画面にアクセスした時に、
HomeControllerのindexアクションが呼ばれるようになります。

8.コントローラーアクションからビューを返すように修正

次にapp/Http/Controllers/HomeController.phpを以下のように編集します。

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class HomeController extends Controller
{
    public function index ()
    {
        $message = 'Hello World';
        return view('hoge.index', ['message' => $message]);
    }
}

Laravelの特徴として、第一引数に渡すビューは何でも良いという点があります。

HomeControllerのindexアクションですが、ビューはhome/index という階層で無ければならないという規約の縛りはありません。

分かりやすさを優先して、今回はコントローラーのアクション名とビューの階層を合わせています。

9.トップ画面のビューを追加

次に以下の内容のresources/views/home/index.blade.phpを追加します。
コントローラーから受け取ったmessage変数を表示します。

<html>
    <body>
        <h1>{{ $message }}</h1>
    </body>
</html>

追加できたら、http://localhost:8000にアクセスします。以下のような画面が表示されればOKです。

10.モデル追加

次に以下コマンドでPostモデルを追加します。

php artisan make:model Post --migration

database/migrationsに以下のようなマイグレーションファイルが作成されます。

また最初から認証機能用にusersテーブル等のマイグレーションが用意されていますが、
これらは不要であれば反映する前に削除しておきます。

<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreatePostsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */    public function up()
    {
        Schema::create('posts', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */    public function down()
    {
        Schema::dropIfExists('posts');
    }
}

主キーのIDとタイムスタンプが自動で作成されているので、
titlebodyカラムを以下のように追加します。

$table->bigIncrements('id');
$table->string('title');
$table->text('body');
$table->timestamps();

次に以下コマンドで実行してマイグレーションを反映します。

php artisan migrate

これでpostsテーブルが新しく作成されました。

11.Postモデルに複数カラムを一括保存できるように修正

Laravelでは以下のように書くと複数のカラムをまとめて保存できます。

Post::create(['title' => 'title', 'body' => 'body']);

しかし不正なパラメータが渡ってきても大丈夫なように、
事前に許可したカラム以外は一括保存出来ないようになっています。

そこでapp/Post.phpを以下のように編集します。

class Post extends Model
{
    protected $fillable = ['title', 'body'];
}

これで一括保存が可能になります。

12.テストデータをtinkerから追加

次に表示用にテストデータを追加するため、以下のコマンドを実行してtinkerを起動します。

php artisan tinker

tinkerはLaravelや独自クラスの機能を、
試しにコマンドライン上で動作させることのできるツールです。

tinkerを起動したら、以下コマンドを実行して、 postsテーブルにレコードを1件追加します。

Post::create(['title' => 'title', 'body' => 'DB Hello World']);

以下のように表示されればOKです。

13.モデルの値を返すようにコントローラーを編集

次にapp/Http/Controllers/HomeController.phpを以下のように編集します。

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Post;

class HomeController extends Controller
{
    public function index ()
    {
        $message = Post::where('title', 'title')->first()->body;
        return view('hoge.index', ['message' => $message]);
    }
}

Postモデルからレコードを取得するように変更しました。

変更できたら、http://localhost:8000にアクセスします。 以下のような画面が表示されればOKです。

終わりに

これでLaravelでMVCモデルを実装する際の基本は試すことが出来ました!Laravelの環境構築には様々な方法があり、動かすまで時間がかかったので、今回の記事が同じような方の役に立てば幸いです。

DEHAソリューションズではPHPに強いエンジニアが多数在籍しています。エンジニアを1から採用するよりも、効率的で低コストで、エンジニアのスポット派遣や開発サポートもおこなっています。

自分だけでLaravelの環境構築を行うのは難しそうという方やPHPエンジニアの採用をしたい方はぜひお問い合わせください。

PHPエンジニアについてのお問い合わせはこちらから

Mai Tran

Recent Posts

AI導入58%でも成果は“内向き”止まり|『DX動向2026』が示すレガシーマイグレーションの優先順位

AIや生成AIの導入が急速に進んでいます。しかし、「AIを導入した企業が、そのまま企業価値を高められているか」という問いに対しては、まだ明確に「Yes」とはいえません。 独立行政法人情報処理推進機構(IPA)が2026年7月に公表した「DX動向2026」では、日本企業のAI導入・試験利用が58.0%に達したことが明らかになりました。AI活用そのものは、もはや一部の先進企業だけの取り組みではありません。 一方で、AIによって得られた成果を見ると、「業務が効率化したり迅速化した」が91.6%であるのに対し、「顧客満足度が向上した」は4.5%、「売上や利益が向上した」はわずか3.9%にとどまっています。 つまり、AI導入は進んでいるものの、その成果はまだ「社内の効率化」という内向きの領域に集中しているのです。 この状況を変えるために重要になるのが、AIツールを増やすことだけではありません。AIが企業の中核業務や顧客接点、データ活用まで入り込めるよう、既存システムそのものを見直すことが必要です。 この記事では「DX動向2026」のデータを読み解きながら、AI活用を企業価値創出につなげるために、なぜレガシーマイグレーションが重要なのか、そしてどのシステムから刷新すべきなのかを解説します。 レガシーマイグレーションについて知りたい方 AIを活用したい方 これらに当てはまる方におすすめの記事となっています。これを読めばレガシーマイグレーションの特徴が丸わかりですよ。 (more…)

5 days ago

【2026年版】モダナイゼーション×AI:成功へ導く戦略と失敗しないための注意点

「レガシーシステムを刷新したいが、コストや移行リスクが不安」「生成AIをシステム刷新に活用したい」と考える企業が増えています。 2026年は、生成AIを活用して既存システムの解析やコード変換、ドキュメント作成、テストなどを効率化する「モダナイゼーション×AI」が注目されています。 この記事では、AIを活用したモダナイゼーションのメリットや成功のための戦略、失敗を防ぐための注意点について詳しく解説します。 モダナイゼーションが気になる方 モダナイゼーションとAIをどう組み合わせればいいのかわからない方 業務にAIを活用していきたい方 これらに当てはまる方におすすめの記事となっています。これを読めばモダナイゼーションとAIの活用方法やポイントが丸わかりですよ。 (more…)

2 weeks ago

AIで加速するモダナイゼーション:レガシーシステム刷新の手順と活用事例

多くの企業では、長年にわたって利用してきた基幹システムや業務システムが、現在も重要な役割を担っています。 一方で、こうした「レガシーシステム」は、技術の老朽化や複雑化、保守人材の不足、外部サービスとの連携の難しさなど、さまざまな課題を抱えています。 こうした状況を受け、企業ではシステムを単純に新しくする「リプレース」だけではなく、クラウドやAPI、データ分析基盤などを活用して、IT環境そのものを現代のビジネスに適した形へ変える「モダナイゼーション」が進んでいます。 本日はそんなモダナイゼーションについて、具体的な手順や活用事例を踏まえて解説していきます。 モダナイゼーションが気になる方 社内のIT人材が不足している方 レガシーシステムの刷新をしたい方 これらに当てはまる方におすすめの記事となっています。これを読めばモダナイゼーションについてわかるのはもちろん、レガシーシステム刷新の具体的な手順まで丸わかりですよ。 (more…)

2 weeks ago

DXの現状:「守りの効率化」から「攻めの価値創出」へ

〜IPA『DX動向2026』から読み解く、日本企業のリアルな課題と本質〜 はじめに:69ページの報告書が突きつける問い 独立行政法人情報処理推進機構(IPA)が発表した最新の調査資料『DX動向2026』(有効回答数:1,799社)。本レポートを精読する中で、最も印象的かつ示唆に富んでいたのは、次の現実でした。 「コストを削減することは、新たな売上を生み出すことよりもはるかに容易である」 日本においてDXへの取り組み率は75.7%に達し、過去数年間にわたり高水準で推移しています。もはや「DXに取り組むべきか否か」という議論のフェーズは完全に過去のものとなりました。しかし、その取り組みの内実をデータで精査すると、多くの企業が直面している構造的な課題が浮かび上がってきます。 1. 「守りのDX」の成功と、「攻めのDX」の停滞 DXに取り組んでいる企業のうち、60.8%が「何らかの成果が出ている」と回答しています。しかし、その「成果」の内訳には顕著な偏りが見られます。 業務効率化・コスト削減の成果:70.9% 新規事業創出・売上拡大の成果:わずか17.9% ペーパーレス化や社内業務のデジタル化といった、既存プロセスの効率化(いわゆる「守りのDX」)は順調に進展しています。しかし、製品・サービスの変革やビジネスモデル自体の刷新といった、事業価値を拡張する「攻めのDX」で具体的な成果を上げている企業は2割にも満たないのが現状です。 効率化によるコスト削減はDXの重要な足がかりですが、それ自体がゴールではありません。真の変革は、効率化によって生み出された余力を「新たな事業機会の創出」へ再投資することで初めて達成されます。 2. 投資拡大の裏にある「投資対効果(ROI)の不可視性」 レポートが示すもう一つの注目すべきデータは、投資と効果測定のギャップです。…

3 weeks ago

モダナイゼーションとは?DXとの違いやAIを活用した業務システムの刷新手法・手順を徹底解説

企業の業務を支える基幹システムや業務システムは、長年にわたって使い続けることで、企業独自の業務ノウハウが蓄積される一方、システムの老朽化や複雑化が進みやすくなります。 「古いシステムを刷新したいが、業務を止めることはできない」「既存システムに詳しい担当者が退職し、保守が難しくなっている」「DXを推進したいものの、既存システムが足かせになっている」といった課題を抱える企業も少なくありません。 こうした問題を解決するための重要な取り組みが「モダナイゼーション」です。 モダナイゼーションは、単純に古いシステムを新しいものへ置き換えるだけではありません。既存システムが持つデータや業務ロジック、ノウハウを活かしながら、現在のビジネス環境に適したIT基盤へと刷新していく考え方です。 この記事では、モダナイゼーションの基本的な意味からDXとの違い、代表的な刷新手法、AIを活用した進め方、実施手順、成功させるためのポイントまで詳しく解説します。 モダナイゼーションについて知りたい方 古いシステムを刷新したい方 DX化をすすめたい方 これらに当てはまる方におすすめの記事となっています。これを読めばモダナイゼーションについてわかるのはもちろん、DX化との違いまで丸わかりですよ。 (more…)

3 weeks ago

AI活用で業務効率化へ:2026年度IT導入補助金のスケジュールと活用法

「AIを業務に取り入れたいけれど、導入コストが気になる」「どのようなAIツールを選べばよいのかわからない」「補助金を使ってDXを進めたい」――このような悩みを抱える中小企業・小規模事業者は少なくありません。 そこで活用を検討したいのが、2026年度の「デジタル化・AI導入補助金」です。 従来の「IT導入補助金」から名称が変更され、2026年度はAI活用を含むデジタル化をより意識した制度となっています。 業務効率化や生産性向上につながるITツールの導入費用を支援することで、中小企業のDXを後押しする制度です。 この記事では、2026年度のデジタル化・AI導入補助金について、制度の概要から申請スケジュール、AI活用の具体例、申請時の注意点までをわかりやすく解説します。 AI導入を検討している方 IT導入補助金を申請したい方 これらに当てはまる方におすすめの記事となっています。これを読めば2026年度の「デジタル化・AI導入補助金」の詳細がわかるだけでなく、具体的な申請方法も丸わかりですよ。 (more…)

4 weeks ago