facebook twitter youtube
Salesforce Java Android PHP JavaScript MySQL Perl node.js HTML iOS
in PHP - 04 2月, 2022
by yagi - no comments
【PHP】人気フレームワークLaravelの概要

お久しぶりです。yagiです。

12月から新しくPHPを触れることになり、しばらく実装を進めてきたのでここで概要をまとめておこうと思います。

 

Laravelとは

前提として今回題に上げたLaravelとは、「PHP」という言語の「フレームワーク」の一種です。

まずPHPとはWebページを動的に生成できるサーバーサイドのスクリプト言語です。似ている言語かつよく比較対象として挙げられるのがJavaScriptですが、この2つの明確な違いは生成される場所です。JavaScriptはブラウザすなわちフロントエンドで実行され、PHPはサーバーサイドすなわちバックエンドで実行されます。

そんな言語のフレームワーク、開発をより簡単にする機能を持ったソフトウェアがLaravelです。
現在PHPフレームワークの中で最も人気なものとして知られおり、触ったことがある方も多いかと思います。

 

人気の理由

先ほどPHPフレームワークの中で最も人気と表現しましたが、ではなぜ人気なのかLaravelの特徴と理由についてざっくりと説明します。

 

  1. 有名フレームワークを土台に作成されている。

    もともとPHPにはSymphony」という大規模な開発に特化したPHPフレームワークが存在して、こちらを元に作成されたのがLaravelということです。
    これはフレームワークにありがちなことなのですが、人気なフレームワークの後発として出るフレームワークは期待が集まり人気が高まります。なぜならすでに前任のフレームワークである程度の情報が世の中に出ているため、学習コストが大幅に下がります。
    さらにLaravelは頻繁にアップグレードが行われており、機能面に関しても十分な性能となっています。
    ただ後に出てきますがLaravelは非常に自由度が高いため、大規模な開発では特定のルールを決めなければ開発が難しくなる可能性もあるので要注意です。

  2. 拡張性、自由度が高い

    Laravelを導入する際に必ず通る道として「Composer」をインストールします。
    これはパッケージを管理するためのツールでLaravelに機能を追加したい際にこちらのツールを使用することで簡単にでき、それらの管理もしてくれます。
    さらにこのツールのいいところはパッケージを使用する際に気を付けなければいけない依存問題も解決してくれます。
    依存問題とは例えば、”A”という機能を使いたいときに追加で”B”と”C”をインストールすることでようやく使えるようになるという非常に面倒な問題です。ですが、こちらのツールを使うことで”A”をインストール時にツール側が自動的に”B”も”C”もインストールしてくれるのです。
    なので開発に応じて細かくカスタマイズすることが可能かつそれらの管理が簡単にできることが強みの一つでもあります。

  3. MVCモデルでの開発

    LaravelでもMVCモデルでの開発が可能です。最近ではどの開発でも主流となっているので説明するまでもないと思いますが、システムを機能ごとに分けてModel・View・Controllerで開発を行うやり方です。

  4. 冗長になりがち、面倒な処理を簡潔化

    開発においてつい冗長な処理になってしまう部分が必ずあります。
    その代表としてバリデーションとDB操作があげられます。特にPHPのDB操作にはPDOと呼ばれる定型処理を毎回書かなければいけません。この定型処理が非常に長く、DBの操作を頻繁に行うシステムならそれだけで骨が折れます。
    バリデーションも同様に入力された値に対して、文字数の確認や形式、まして正規表現などを使用してメールアドレスかどうかの確認まで入れると冗長になってしまします。
    ですがLaravelではこの処理が非常に簡潔に書くことができるためプログラミング経験が浅い人でも複雑な処理を書くことができます。

以上が人気な理由かつ特徴です。実際もっと特徴や強みはありますが実際に触ってみたほうがわかりやすいと思います。
実際自分もまだまだ分からないことだらけで現在進行形で勉強中です。。。

 

まとめ

今回はPHPフレームワークのLaravelについて簡単にですが説明させていただきました。

自分自身も今回初めてPHPを触ってわからない事だらけだったのですが、ある程度は触れるようになりました。そこから考えても学習するには相当簡単かと思います。
今後も初めて触れる技術があれば自分の復習ノートのように書いていくので、皆さんと技術の共有がこの場でできればと思います。

以上です。ありがとうございました。