SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

人気のPHPフレームワークLaravelを習得しよう

Web職人のためのPHPフレームワーク「Laravel」をマスターしよう!~HelloWorldを表示させる

人気のPHPフレームワークLaravelを習得しよう 第1回

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

 本連載ではPHPフレームワークのひとつであるLaravelを紹介していきます。Laravelは、「Web職人のためのフレームワーク」というキャッチコピーのもと、ここ数年で人気がうなぎ上りのフレームワークです。連載を通して、その人気の秘密を味わっていただこうと思います。  その第1回である今回は、Laravelとは何かを紹介するとともに、Laravelを使ってブラウザに「Hello World!」と表示させるところまで解説します。

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

Laravelとは

 この連載で紹介していく「Laravel」は、2011年6月にバージョン1がリリースされた比較的後発のPHPフレームワーク※です。ここではまず、Laravelがどういったフレームワークなのか見ていきましょう。

※フレームワークとは何かについては、こちらの解説を参照してください。

人気急上昇のフレームワーク

 Laravelは2011年当時人気を博していたCodeIgniterのようなPHPフレームワークの使いにくい部分を克服しようとして作成されました。その後、注目されるようになり、ここ数年人気が急上昇しています。

 どれほど人気なのかをGoogle Trendsを使って確認してみましょう。Google Trendsにトピックとして以下の各有名PHPフレームワーク名を指定し、カテゴリとしてプログラミングを指定して、2011/01/01から2018/09/30までの人気度の動向を見てみます。

 図1は地域として日本を指定した場合の結果です。

図1: 有名PHPフレームワークの日本での人気動向
 

 当初絶大な人気を博していた赤色のCakePHPが下降していくのに反して青色のLaravelが急上昇しています。これが、世界の動向に目を向けるとさらに急上昇しているのがわかります。図2に地域をすべての国に指定した結果を掲載します。

図2: 有名PHPフレームワークの世界での人気動向
 

 日本の動向以上にLaravelが急上昇しています。興味深いのは日本と違って、Symfonyが常に高い人気を博している点です。実は、この連載で紹介していくLaravelも、内部的にはSymfonyを利用しています。つまり、もともと人気の高かったSymfonyをベースに、より良いフレームワークとして作られたのがLaravelなのです。

Laravelの特徴

 Laravelは、一般的にフルスタックフレームワークと言われています。フルスタックフレームワークというのは、データベースからのデータの取得処理やログイン認証処理などの自動化といった、およそPHPのWebシステム開発に必要な機能がほぼすべて含まれているフレームワークのことです。先述のCakePHPやSymfonyもフルスタックフレームワークです。フルスタックフレームワークは機能が豊富な反面、学習コストが高いことが多いです。一方、Laravelは、学習コストが低く、コードが書きやすいことをうたったフレームワークです。

 そのLaravlの本家サイトには「The PHP Framework For Web Artisans」とのキャッチコピーがあります。訳すと「Web職人のためのPHPフレームワーク」です。この連載を通して、Laravel未体験のWeb職人にLaravelの良さを味わっていただこうと思います。

 具体的には、Laravelの機能として表1の内容を扱う予定です。

表1:Laravelの主な機能
項目 内容
ルーティング  URLと対応する処理を紐づけているのがルーティングです。
このルーティング機能があるおかげで、.phpで終わるURLのようなphpファイ
ルを連想するURLを避けることができ、処理をひとつのファイルやクラスにま
とめることが可能となります。
Blade Laravelはテンプレートエンジンを内包しています。それがBladeです。
ミドルウェア URLに対応したある処理を行う際、その前後に処理を付加することができます。
これをミドルウェアと言います。
エラーハンドラ 例外やエラーが発生した際、そのパターンに応じて、例えば障害発生の画面を
表示したりなどの処理を行うことができます。
DI システム開発を行っていくと、クラスのインスタンス同士がさまざまに依存し
あうようになります。この依存度を極力下げて、実行時に外部から与えてもら
えるようにした仕組みがDI(Dependency Injection: 依存性注入)です。
Laravelは、このDIを実現する方法として、サービスコンテナというのを用い
ています。
バリデーション

システム開発を行う際、入力値のチェック、つまりバリデーションのコー
ディングというのは、煩わしいものです。
Laravelは、このバリデーションを設定のみで自動的に行ってくれる機能
があります。

データベース連携 Webシステムにおいて、データベースを使わないものは少ないでしょう。
そのデータベースとPHPを連携させる場合、定型処理が含まれ、
それなりに煩わしいものです。そういった定型処理を行う機能がLaravelには
あります。
認証の自動化 Webシステムでは、そのシステムへのログイン処理が含まれることが多々あり
ます。
また、そういったシステムでは、ログインしていないと使ってはいけない処理も
含まれています。そういったログイン処理、ログインしているかどうかの
チェック処理、つまりは認証を自動化してくれる機能がLaravelにはあります。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
Laravel動作環境の構築

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
人気のPHPフレームワークLaravelを習得しよう連載記事一覧

もっと読む

この記事の著者

WINGSプロジェクト 齊藤 新三(サイトウ シンゾウ)

WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS Twitter: @yyamada(公式)、@yyamada/wings(メンバーリスト) Facebook<個人紹介>WINGSプロジェクト所属のテクニカルライター。Web系製作会社のシステム部門、SI会社を経てフリーランスとして独立。屋号はSarva(サルヴァ)。HAL大阪の非常勤講師を兼務。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/11231 2018/12/03 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング