Search

検索したいワードを入力してください

2019年03月28日

PHPのフレームワークLaravelとは?基本と特徴を解説

Laravelとは今世界的に大人気のWebフレームワークです。フレームワークって何?という方向けにフレームワークの基礎から、Laravelの特徴までまとめました。Laravelは初心者でも扱いやすい便利なフレームワークですので、ぜひ読んでみてください

Webフレームワークとは?

フレームワークとは、アプリケーションの開発に必要な機能、および骨組みをまとめた枠組みのことを指します。フレームワークの大きな特徴として、プロジェクト開発に必要な設定やファイルなどを自動的に作成してくれます。

また、WebフレームワークとはWebサイトやWebアプリケーションの開発に特化したフレームワークのことを指します。今回ご紹介するLaravelはPHP用のWebフレームワークですので、PHPフレームワークと言われることもあります。

一言にWebフレームワークといってもさまざまなフレームワークが存在するため、用途にあったフレームワークを選んで使ってみましょう。

フレームワークを使うことで得られるメリットとデメリット

フレームワークは非常に便利ではありますが、必ずしもフレームワークを使うのが最適解とは限りません。場合によってはフレームワークを使用せずにスクラッチで作成したほうが良い場合や、ライブラリのみを使用したほうが良い場合もあります。

あらゆるフレームワークには使用することで得られるメリット、およびデメリットが存在するため、用途に合わせてフレームワークを選ぶようにしましょう。

フレームワークのメリット

フレームワークを使用することで得られるメリットは大きく分けて3つあります。

1. 学習コストの軽減
- 基本的な骨組みを自動生成してくるため、アプリケーションの骨組みの開発に必要な学習コストを軽減することができます。

2. 開発速度の向上
- アプリケーションの開発をサポートする機能群を使用することで開発速度を飛躍的に向上することができます。

3. 運用リスクの削減
- 開発手順やプロジェクト構成がフレームワークによって指定されていることが多いため、特に複数人で開発する場合に運用コスト、管理コストが削減できます。

フレームワークのデメリット

逆にフレームワークを使用することで発生するデメリットも存在します。

1. フレームワーク毎に発生する学習コスト
- フレームワークは独自の仕様が存在するため、新しいフレームワークを使用する場合は必ず学習コストが発生します。

2. 言語に関する理解が浅くてもハイレベルな実装ができる
- こちらはフレームワークを使うことで得られるメリットでもありますが、プログラムの理解が浅い状態で開発している場合、開発している内容を把握しきれなくなってしまうケースが多々あります。その場合、バグなどのトラブルが発生した場合の調整コストが高くついてしまうため、デメリットとしています。

Laravelについて

Laravelとは今世界で最も人気があるPHPフレームワークです。PHPフレームワークとはWebフレームワークの一種で、数あるWebフレームワークの中でPHPでの開発に特化したフレームワークのことを指します。

Laravelを使うことで、簡単なWebアプリケーションをある程度のところまで自動生成することができます。そのためDB構造や基底の処理を実装する手間が省け、開発初心者でも取り組みやすいフレームワークとなっています。

今最も勢いのあるフレームワーク

Laravelは世界的に人気なフレームワークです。特に海外人気が高く、今後も利用率は伸びる傾向にあります。そのためインターネット上でもLaravelに関するコミュニティや情報量は増えており、これからLaravelを初めて触って見る方もやりやすい環境となっています。

また、Laravelには既に非常に多くのライブラリが存在しますが、今でも随時数多くの機能が追加されていることも人気の理由の一つでしょう。

Laravelの人気の秘訣とは

Laravelがここまで人気になった理由は、Laravelの使い勝手の良さにあります。Laravelは学習コストが低く、クセも少ないため万人受けするフレームワークとなっています。

Laravel以外にもPHPフレームワークは数多く存在しますが、その中でもLaravelはとりわけ学習が簡単で、PHP言語に馴染みの無い方ですら簡単に扱うことができます

初級者が気軽に始めることができ、ネット上の情報も豊富なLaravelは、PHPフレームワークの中で最もおすすめできるフレームワークです。

簡単に学べるフレームワーク

Laravelには"Artisan"という専用のコマンドが用意されており、このコマンドを使用することで簡単に各種設定や更新を行うことができます。

Artisanとは英語で職人という言葉で、その名のとおりLaravelを支える職人として、手間のかかる作業を一瞬で行ってくれます。

例えばタスクリストなどの小規模なアプリケーションは、Artisanコマンドとほんの少しのコードをを打ち込むだけで作成することができます

読みやすく書きやすいコード

Laravelのコードはシンプルで、読みやすく書きやすくなっています。煩雑になりがちなルーティングに関しても強力なルーティングフィルターが用意されていたりと、コードを簡潔に仕分けできるよに鳴っています。

PHPでの開発に馴染みの無い方は、Laravelが自動生成したコードを読みつつ徐々に言語に慣れていくというふうに進めることもできます。

CakePHP vs Laravel

今まで日本でPHPフレームワークといえば、CakePHPが一強となっていました。それでは現在、2019年の段階でLaravelとCakePHPを比較した場合どのような違いがあるのかを見てみましょう。

LaravelCakePHP
世界的な人気が高く、英語の情報が豊富日本国内での人気が高く、日本語の情報が豊富
利用者が増得続けている利用者が徐々に減りつつある
動作速度が遅め動作速度が早い
学習コストが低い学習コストが(Laravelより)高い
コードの記述場所、書き方に指定が少ないコードの記述場所、書き方に指定が多い
自由度、および拡張性が高い規約が多く、安定したコードが書きやすい

それぞれ特徴があるため、プロジェクトの目的に合わせてフレームワークを選びましょう。

また直近のユーザーの増加率や、フレームワークの更新頻度を踏まえると今後はLaravelがより伸びてくる可能性が高いため、どちらかを学習してみたいという場合はLaravelを入門してみることをおすすめします

tech boostでもLaravelをメインに使っています。

特徴1 : 処理速度の遅さ

Laravelを選択する上でまず懸念すべきは、CakePHPと比べて処理速度が遅いという点です。Laarvelはフレームワークに含まれる機能や規模が大きいためか、他のPHPフレームワークと比較しても処理速度でやや劣ります

その代わりに開発のしやすさや機能の豊富さに長けているため、一長一短ではあるのですが、処理速度が求められるプロジェクトではLaravelを使用して問題ないかご注意ください。

特徴2 : 自由度が高い

CakePHPがコードの記述場所や方法に厳格な指定があるのに対し、Laravelは比較的自由にコードを記述することができます。そのため、自由にプログラムを拡張することができます。

ですが自由に拡張する場合、内容を手動で実装する必要があるため、実装に関する知識が必要となります。

Laravelはアプリケーションを一定範囲まで自動で生成してくれますが、その後の実装は開発者に一任されています。そのため細かい部分の実装は自由に行うことができます。また自動生成されたプロジェクト自体を改修し、独自に作り変えることも可能となっております。

特徴3 : Webアプリが開発しやすい

LaravelでWebアプリケーション開発を行うためには、Laravelを用いた開発のための環境設定を行い、Laravelが提供するartisanコマンドを使います。artisanコマンドを使用することでプロジェクト構成や、機能を自動的に追加することができます。

artisanコマンドの機能によりPHPやフレームワークの知識がなくとも、artisanコマンドを少し覚えるだけで、Webアプリケーションの開発ができます

開発環境構築の流れ

Laravelの開発環境を整えるために必要なステップは3つあります。基本的にはインストーラーを起動するだけで完了できますので、ぜひこの機会に開発環境を構築してみましょう。

1. PHPのインストール
コマンドラインでphp --versionと入力し、バージョン情報が表示された場合はこの対応は不要です。

バージョン情報が表示されない場合(PHPがインストールされていない場合)のみ、以下のPHP公式サイトからPHPインストーラーをダウンロードし、インストールしてください。

2. Composerのインストール
PHPのインストールが完了したら、Composerというツールをインストールします。

ComposerとはPHP開発時に用いられる、各種パッケージを管理してくれる便利なツールです。このツールを使うことでLaravelなど色々なフレームワークやライブラリをインストールしたり、管理することができます

Composerは以下の公式サイトからダウンロードし、インストールしてください。

インストールが完了したら、最後にコマンドラインを開きcomposerと入力してENTERを押します。コマンドライン上に現在インストールされているComposerのバージョン情報などが表示されたら、無事インストール完了となります。

3. Laravelのインストール
最後に先程インストールしたComposerを使用し、Laravelをコマンドライン上でインストールします。上記に引き続きコマンドラインで以下を記入し、ENTERを押します。

composer global require "laravel/installer=~1.1"

次にLaravelのパスを登録します。

export PATH="$PATH:~/.composer/vendor/bin"

これでLaravelコマンドが使える状態となりました。早速以下のコマンドを入力し、Laravelプロジェクトを作成してみましょう。

laravel new helloWorld

これで開発環境の構築、およびnewWorldというプロジェクトの作成が完了しました。

みんなもLaravelを使ってみよう

Laravelは世界的に人気の高い、今最も勢いのあるWebフレームワークです

PHPやフレームワークに関する知識がなくとも使えるほど、わかりやすく便利なフレームワークとなっているため、ぜひこの機械にはじめてみましょう。

【PR】多くの人がプログラミングを諦めてしまう理由をご存知ですか?



近年プログラミングを勉強する人が増えています。

プログラミング学習者の多くは独学から取り組もうとしますが、だいたい80%ほどは3ヶ月も続かずに諦めてしまいます。早い人は1日目で。

多くの人がプログラミングを独学しようとして諦める理由は、次の3つ。
●モチベーションが維持できない
●エラーの原因・解決方法が分からない
●どう学習すればよいか分からない

TechBoostというプログラミングスクールでは、みんなと一緒にプログラミングをするのでモチベーションの維持ができ、分からないことがあればマンツーマンで教えてくれ、徹底的に研究された初心者向けの教材が揃っています。

TechBoostを卒業後、実際にエンジニアとして転職した方もいるほど。

本気でプログラミングを学びたい方は、一度無料のカウンセリングでご相談ください。プログラミングを嫌いになる前に。

tech boostについて

オーダーメイド型の学習コンテンツを提供する「tech boost」 は、エンジニアのキャリア支援に特化したサービスを複数展開している株式会社Branding Engineerが運営しているプログラミングスクールです。最短3ヶ月間で、未経験から『プログラミングの基礎』、『実際に業務で必要となるスキル』、『今のトレンドとなっている知識』まで学べ、ご希望の方にはプロのキャリアアドバイザーによる就業支援を行うことができます。

tech boost卒業生インタビュー

tech boostの卒業生の声を聞きました。あなたがプログラミングを学びたい理由を、一度考えてみてください。
営業→Javaエンジニア→Rubyエンジニアと転向し、第一志望のFinTech企業で働く山下さん
元営業、ビジネスのわかるエンジニアを目指す菅原さん
サンフランシスコに交換留学し、シリコンバレーのVCでインターン中の梅本さん
予備校の営業から半年でエンジニア転職を果たした小田島さん

tech boostの口コミ



Related