.NETエンジニア・プログラマ向けの技術情報・業界ニュースをお届けします。

  1. FEnet.NETナビ
  2. .NETコラム
  3. プログラミング言語
  4. PHP
  5. Laravelとは?|基本的な用語の解説とLaravelプロジェクトの作成について解説

Laravelとは?|基本的な用語の解説とLaravelプロジェクトの作成について解説

  • PHP
  • プログラミング言語
公開日時:   更新日時:
Laravelとは?|基本的な用語の解説とLaravelプロジェクトの作成について解説
この記事でわかること
    基本情報技術者試験の試験対策はこちら>>
    システム
    エンジニア
    Laravelとはどのようなものか教えていただけますか。
    プロジェクト
    マネージャー
    LaravelはWebアプリケーションフレームワークのことです。アプリケーションはMVCモデルにしたがって動作します。

    Laravelとは?


    Laravelは、Webアプリケーションを効率的かつ高度に開発できるPHPのWebアプリケーションフレームワークです。

    2011年にリリースされ、その後一気にシェアを拡大し、今ではPHPのみならず他の言語のフレームワークの中でも高いシェアを誇っています。

    特徴としては、比較的自由に開発ができる柔軟性、学習コストの低さ、多機能性があげられます。

    Webアプリケーションについて

    Web上のリソースを操作できるアプリケーションのことを、Webアプリケーションといいます。

    Web上のリソースの操作には主に4つのメソッド(GET、POST、PUT、DELETE)を使用します。

    GETはデータの取得、POSTは新規データの送信、PUTはデータの更新、DELETEはデータの削除を行います。これらの4つのメソッドは、合わせてCRUDメソッドと呼ばれます。

    Web上のリソースとは?

    Webページに表示される全てのものをリソースと呼びます。

    リソースの中には大きく分けて、ユーザに変更が許可されているものと、変更が許可されていないものがあります。

    Webアプリケーション作成する時は、セキュリティ上の安全を担保するために、変更の許可の付与が重要になります。LaravelなどのWebアプリケーションフレームワークでは、不用意な許可を制限するようにできています。

    URLとは?

    URLとはUniform Resource Locatorの略称であり、その名の通り、Web上のリソースを特定するために使われます。

    識別は数字の並びで行われますが、URLは人間にとってわかりやすい表記に変換されており、URLの頭には通信規約を表すhttpやhttpsが表記されています。またその後ろにworld wide webの略称のwww、ドメイン名、最後にファイル名等の順で続きます。

    Webアプリケーションフレームワークについて

    Webアプリケーションの土台となるプログラムのことを、Webアプリケーションフレームワークといいます。

    Webアプリケーションフレームワークには、Web開発における共通処理がまとめてあります。

    Webアプリケーションを1から作成するには、膨大なプログラムが必要となりますが、フレームワークを用いることで、共通処理を書かなくていいため、効率的に開発が行えます。

    ライブラリとフレームワークの違いについて

    フレームワークと似たものにライブラリが存在します。ライブラリとは、便利なプログラムのコードが集められたファイルのことです。

    ライブラリとフレームワークの違いは、ライブラリはユーザが書いたプログラムによって呼び出される側ですが、フレームワークはユーザの書いたプログラムを呼び出す側という点です。

    ライブラリとフレームワークは似ているようで全く異なるものなので、混同しないようにする必要があります。

    フレームワークを扱う際の注意点

    上述した通り、ライブラリは便利な道具の寄せ集めであり、道具を利用するかしないかはユーザに委ねられています。

    一方、フレームワークはWebアプリケーションの土台であり、ユーザはフレームワークの枠組みの中で開発していくことになります。

    フレームワークを用いる際は、ユーザは必ずフレームワークのルールに沿って開発をしなければならないので、フレームワークのルールをしっかりと学んでおく必要があります。

    Laravelでプロジェクトを始める方法


    Laravelを用いたWebアプリケーションを作成する際に、まずLaravelプロジェクトを作成します。

    Laravelプロジェクトには、Laravelによるアプリケーション開発のベースとなるファイルが格納されています。

    プロジェクトの作成はphpとcomposerがインストールされたターミナル上で


    として作成します。

    composerとは?

    composerとは、PHPのライブラリ管理システムのことです。PHPのライブラリやフレームワークをインストールしたり、バージョンをコントロールするために利用します。

    composerを利用すれば、あるライブラリをインストールする時に、そのライブラリに必要なライブラリ(依存ライブラリ)を自動的にインストールすることができます。

    Laravelのディレクトリ・ファイル構造

    プロジェクト作成のコマンドでファイルやフォルダがいくつか作成されますが、Laravelは膨大なプログラムで構成されているので、全てのファイルを理解することは困難です。

    ここでは開発する上で、変更する必要があるファイルやフォルダについてのみ簡単に説明します。開発する際に重要なファイルは以下に示す通りです。

    ・app/
    ・.env
    ・database/migrations/
    ・resources/views/
    ・routes/web.php

    .envについて

    .envは環境設定ファイルのことです。.から始まるファイルは隠しファイルなので設定によっては表示されないので注意が必要です。

    .envファイルには、ローカル環境やステージング環境、本番環境で異なる環境変数を設定するために記述します。また、どの環境でも同じである環境変数は/configフォルダ内に記述します。

    環境変数には、使用するデータベース情報や、外部サーバの機密情報、デバック設定などがあります。

    /database/migrationsについて

    /database/migrationsはマイグレーションファイルが格納されるフォルダです。

    マイグレーションファイルとは、データベースにテーブルを作成・編集するのに用いられます。

    通常、テーブルを新規作成するには、SQLコマンドをデータベースに直接実行します。カラムを追加する場合も同じです。しかし、SQLコマンドを使用した場合、テーブル定義を元に戻すことが困難です。

    マイグレーションファイルを使用すれば、戻したいテーブル定義まで簡単かつ正確に戻すことができます。これをロールバックと呼びます。

    MVCモデル

    Laravelにおいて、Webページの表示までの流れを理解する上で重要なのがMVCモデルです。

    MVCはModel、View、Controllerのことであり、アプリケーションの開発設計のパターンの1つです。

    また、MVCに加えてRouterも重要な役割を担います。ここではModel、View、Controller、Routerについて説明します。

    Modelについて

    Modelとは表示するデータの元となるリソースのことです。

    LaravelではModelはデータベースを操作する機能を作る際に使用されます。Modelの関数はSQL文の代わりになります。

    1つのテーブルに1つのModelが存在し、データベースのレコード1つにModelのインスタンス1つが対応します。

    Webアプリケーションでは扱うデータを明確にし、Modelを作成するための情報を揃える必要があります。開発はModelの作成からスタートするのが良いでしょう。

    Controllerについて

    Controllerは、ユーザから送信されてきたHTTPリクエストをController内に記述された関数に割当てて処理します。

    また、HTTPリクエストに対応したModelの取得や作成、保存を行い、Viewを表示します。

    HTTPリクエストとはCURDメソッド(GET、POST、PUT、DELETE)のことです。

    Laravelにおいて、Controllerのファイルはapp/Httpに格納します。

    Viewについて

    Viewは、Controllerによって処理されたHTTPリクエストの結果を表示するWebページのことです。

    ViewではCSSを反映したり、HTMLに埋め込まれたPHPにより、Controllerによって選択された適切なModelの情報を表示します。

    また、Viewファイルはresources/viewに格納されており、URLによりその位置を特定し表示されます。

    Routerについて

    Routerでは、URLのルーティングを一元管理しています。

    ルーティングとはユーザのリクエスト内容(HTTPリクエスト)とサーバ側の処理(Controller)を紐付けることです。

    Laravelでは、routes/web.phpのファイルがRouterの役割をしています。このファイルを見ることで、Webアプリケーションのルーティングを全て把握できます。またルーティングを行う際はこのファイルに記述します。

    システム
    エンジニア
    Laravelでプロジェクトを始める方法についてよく分かりました。
    プロジェクト
    マネージャー
    ご紹介したように、フレームワークを用いる際、ユーザは必ずフレームワークのルールに沿って開発をしなければなりません。フレームワークのルールをしっかりと学んでください。

    Webアプリケーションの理解を深めてLaravelを活用しよう


    Webアプリケーションフレームワークにおける基本的な用語の解説と、初学者がLararvelプロジェクトを始める際に理解すべき重要な点について解説しました。

    実際にWebアプリケーションをLaravelを用いて開発する際は、初学者にとって様々な障壁が存在します。

    Webアプリケーションの基本について理解した上で、リファレンスサイトなどで一つ一つ調べながら解決しましょう。

    FEnet.NETナビ・.NETコラムは株式会社オープンアップシステムが運営しています。
    株式会社オープンアップシステムロゴ

    株式会社オープンアップシステムはこんな会社です

    秋葉原オフィスには株式会社オープンアップシステムをはじめグループのIT企業が集結!
    数多くのエンジニアが集まります。

    秋葉原オフィスイメージ
    • スマホアプリから業務系システムまで

      スマホアプリから業務系システムまで

      スマホアプリから業務系システムまで開発案件多数。システムエンジニア・プログラマーとしての多彩なキャリアパスがあります。

    • 充実した研修制度

      充実した研修制度

      毎年、IT技術のトレンドや社員の要望に合わせて、カリキュラムを刷新し展開しています。社内講師の丁寧なサポートを受けながら、自分のペースで学ぶことができます。

    • 資格取得を応援

      資格取得を応援

      スキルアップしたい社員を応援するために資格取得一時金制度を設けています。受験料(実費)と合わせて資格レベルに合わせた最大10万円の一時金も支給しています。

    • 東証プライム上場企業グループ

      東証プライム上場企業グループ

      オープンアップシステムは東証プライム上場「株式会社夢真ビーネックスグループ」のグループ企業です。

      安定した経営基盤とグループ間のスムーズな連携でコロナ禍でも安定した雇用を実現させています。

    株式会社オープンアップシステムに興味を持った方へ

    株式会社オープンアップシステムでは、開発系エンジニア・プログラマを募集しています。

    年収をアップしたい!スキルアップしたい!大手の上流案件にチャレンジしたい!
    まずは話だけでも聞いてみたい場合もOK。お気軽にご登録ください。

    株式会社オープンアップシステムへのご応募はこちら↓
    株式会社オープンアップシステムへのご応募はこちら↓

    新着案件New Job