お役立ちコンテンツ | フリーランスエンジニアの案件・求人なら【テクフリ】

PHPフレームワークとは?おすすめの10選と選び方【2021年最新版】

 oinari | 2020/11/02 - 20:43
目次

    PHPフレームワークとは

    PHPのフレームワークとは、PHPを利用して開発をする際に必要な機能を、ある法則に則ってつかえるよう標準化したものです。

    例えばPHPを1から書く場合には200行必要な機能が、PHPのフレームワークを利用すると20行だけで済むことがあります。

    フレームワークと似た言葉としてライブラリがありますが、両者の違いは「制御の反転があるかどうか」によります。

    ライブラリの場合、プログラムを動かす主導権はプログラマーが書いたコードにあります。一方でフレームワークの場合、プログラマーが書いたコードはフレームワークによって制御されるのです。

    つまり、ライブラリは主導権がエンジニア側にあり、フレームワークは主導権がフレームワークに側にあると言えます。

    PHPフレームワークを利用するメリット

    開発スピードが上がる

    MVP開発やリーンスタートアップという言葉が注目されているように、IT/Web業界では特にサービスを高速で市場に投下することが重要です。PHPのフレームワークを利用するのとしないのでは、開発スピードにかなりの差が生じます。

    例えばPHPのフレームワークには、データベースアクセスの機能やログイン機能などが備わっているのですが、それらをフレームワークなしでエラー無く完成させるには、かなりの時間を要してしまうのです。

    コードの統一性を保持(多人数開発にも対応しやすくなる)

    プログラミングに限らず全ての仕事にいえますが、コードの書き方にはその人の個性やクセがでます。

    経験、スキル、年齢、性格、キャリアなど様々な要因によって差が生じるのですが、人が書いたコードを修正するのは、かなり大変な作業です。

    フレームワークを利用すれば、コードの統一性を保持させることができます。

    統一性を保持することにより、多人数開発にも対応しやすくなります。

    バグの減少

    PHPのフレームワークは基本的に大人数のエンジニアに利用されています。そのため、バグはすでに解決されていることが多いです。

    それらのバグが少ないフレームワークを利用して開発を進めると、開発をしたプログラムもバグが少なくなる可能性が高まるといえます。

    フリーランスとして仕事が取りやすくなる

    PHPの中規模、大規模以上案件では、フレームワークが利用されていることがほとんどです。特にLaravelは年々ニーズが上昇しているため、PHPエンジニアのフリーランスとして仕事を安定的に獲得するにはキャッチアップは必須といえるでしょう。

    【PHPのフリーランス案件一覧】

    PHPフレームワークを利用するデメリット

    学習期間が必要

    フレームワークを使いこなすにはPHPの理解がある前提で、最低でも数週間は学習をする必要があります。概要を抑えることができても、細かい要望を実現しようとすると調査に更に時間がかかることはよくあります。

    また、ドキュメントは基本的に英語で書かれていることが多いです。

    種類によっては利用に費用がかかる

    フレームワークによって、は利用に費用がかかることがあります。

    学習をする前に、無料で利用ができるか調べることをおすすめします。

    イレギュラーに対応できないことがある

    フレームワークはいわゆる「よくある機能」を開発する際には有用です。

    しかし、前例が少ない機能を開発したい場合、対応できないことが多々あります。

    フレームワークは決められたルールに則ってサービスを開発していかなければならないため、イレギュラーが多発するようなサービスではフレームワークを利用しないほうが作りやすいことがあるのです。

    PHPフレームワークトレンド状況

     

    画像:Googleトレンド(2020/07/05~2021/06/29)をもとに算出

    PHPフレームワークのトレンド状況を見てみましょう。

    グラフから分かる通り、PHPのフレームワークでは近年Laravelが平均して人気といえます。

    おすすめのPHPフレームワーク10選

    Laravel

    Laravelは2011年6月に初版がリリースされた、PHPフレームワークです。

    日本に限らず世界中で人気が急上昇しています。PHPフレームワークのなかでは後発ではありますが、高い頻度でバージョンアップが行われており、2013年にはSymfonyをベースとして大きな変更が行われました。

    メモリを使用する量は多く、リクエスト処理数は少ないとはよく言われますが、基本的な機能が全てそろっているフルスタックのWebアプリケーションフレームワークです。

    またWeb上や本の情報、セミナーの開催などが多いので学習はしやすいフレームワークです。

    ちなみにLaravelの名前の由来は「ナルニア国物語」に登場する王都名からきています。

    CakePHP

    CakePHP(ケイク・ピー・エイチ・ピー)は「ケーキ作りのように簡単にPHPで開発ができるように」をコンセプトとして、2005年に初版がリリースされました。

    Ruby on Railsと同様に「設定より規約」を設計理念としており、他フレームワークのように設定を細かく記述するのではなく、規約を守ってコードを書くことで、開発者は本質的な業務に集中することができます。

    日本語のドキュメントが豊富ですが、覚えることが多いため学習コストは高めです。

    FuelPHP

    FuelPHPは後述するCodeIgniterをベースとして2011年にリリースがされました。

    Laravelと同様に後発のPHPフレームワークですが、他のフレームワークの優れているところを参考にして設計がされています。

    CakePHPの「設定より規約」とは反対にFuelPHPは「規約よりも設定」 を設計理念としています。

    そのため、コードを書く量は多めになりますが、自由度が高いです。

    覚えることは比較的少ないため、学習コストは低めです。

    小規模の開発案件との相性が良いフレームワークです。

    ZendFramework

    ZendFramework(ゼンド・フレームワーク)は2006年にゼンド・テクノロジーズよりリリースされたPHPフレームワークです。

    シンプルで柔軟な使い方ができ、拡張性に優れています。

    コードを非公開にすることができるので企業利用に向いています。

    Symfony

    Symfonyは2007年にリリースされたPHPフレームワークで、CakePHPと同様にRuby on Railsの影響を強く受けています。

    Laravelの台頭によって、シェアを奪われているものの、大規模の開発案件と相性が特に良いです。

    ドキュメントは整っているのですが、学習コストは高めです。

    CodeIgniter

    CodeIgniter(コードイグナイター)は2006年2月に初版がリリースされました。

    特徴は軽量でスピード重視な点です。

    規約が厳しくないため、PHPの理解があるエンジニアであればドキュメントを数時間読めば、開発に入れるほど学習コストは低めです。

    Phalcon

    爆速フレームワークといえばPhalconです。基本、PHPのフレームワークはPHPで書かれていることが大半ですが、PhalconはC言語で実装されています。

    ベンチマークではCodeIgniterの約2倍の速度で、メモリ使用量は3割ほど消費が少なという結果がでています。

    そんな速くて、軽いPhalconですが、日本語ドキュメントが少ないため、英語が読めないと少々苦戦します。

    Slim

    Slimは「マイクロフレームワーク」と呼ばれる、PHPフレームワークです。

    LaravelやCakePHPなどの「フルスタックフレームワーク」とよく比較をされます。

    学習コストが低く、とても軽量です。

    つくりたいアプリケーションがシンプルな場合に相性がとてもよいです。

    Yii

    Yii(イー)は2008年にリリースされました。

    「高速で安全で効率的なPHPフレームワーク」と公式サイトには記述があります。

    軽量で高負荷にも耐えられる設計となっていますが、日本での利用率はあまり多くはないのが現状です。

    Flight

    Flightは、「高速、シンプル、拡張可能なPHPのフレームワーク」と公式サイトには記載があります。

    ルーティングも簡単に行えますが、現状フリーランスの案件はほとんどないのが現状です。

    PHPフレームワークの選び方

    PHPフレームワークを下記のように比較をしてみました。

    PHPのフリーランスエンジニアとして案件を受注したいのであれば、現状、選ぶべきはLaravelもしくはCakePHPといえそうです。

     

    フレームワーク テクフリ案件数 Qiitaの記事数 stackoverflowでの質問数 学習コスト
    Laravel 25 14005 241
    CakePHP 4 2948 186
    FuelPHP 2 834 95
    Symfony 2 1652 88
    CodeIgniter 1 463 11
    Phalcon 1 374 3
    Slim 1 2497 93
    ZendFramework 0 187 8
    Yii 0 247 1
    Kohana 0 15 0

    PHPを使用する案件紹介

    テクフリに掲載のPHP案件をフレームワークごとに、一部ご紹介します。

     

    フレームワーク Laravel
    案件名 【PHP/Laravel】人材情報管理システムのサーバーサイド開発
    月額単価 〜830,000円/月
    最寄駅 虎ノ門駅
    業務内容 下記2ポジションでエンジニアを募集しております。

    【webサーバーサイド開発】

    ・自社開発の人材情報管理システムの新規機能の開発、既存機能の改善対応、バグの修正

    ・仕様書の確認、実装、コードレビュー、テスト専任部隊のテストで発見されたバグの修正対応

    【E2Eテスト開発】

    ・プロダクトのソースコードをみてPHPUnitやテストカフェを用いてテストコードを書いていただきます。

    また、CI/CDで自動化も進めており、キャッチアップしながら進めていただきます。

    基本スキル ・PHPでの開発経験(4年程度)

    ・PHPUnitを使ったテストの経験

     

    フレームワーク CakePHP
    案件名 【PHP/Laravel】大手Web系企業でのサーバーサイド開発業務
    月額単価 〜830,000円/月
    最寄駅 恵比寿駅
    業務内容 従来から開発・運用してきたサービスに新規での開発を統合しているため LAMP環境を軸として様々な開発言語、システムで構築されています。 サーバーサイド(PHP)ではLaravelやCake、フロントエンドではReact.js,Vue.jsなど 複数のフレームワークを導入しております。 長期運用を行うアプリケーションとなるので、 パフォーマンスやメンテナンス性を意識した設計・実装を目指しており、 運用・保守問わず、幅広い開発工程を担当していただく予定でございます。
    基本スキル ・PHPでの開発経験 4年以上

    ・Laravelを使用した経験 2年以上

    ・前向きで成長意欲の強い方

    ・質問に対する受け答えがしっかりできる方

    ・積極的に周囲とコミュニケーションを取れる方

    フレームワーク FuelPHP
    案件名 【PHP/FuelPHP】サーバーサイドエンジニア_ヘルスケアアプリ開発
    月額単価 〜770,000円/月
    最寄駅 渋谷駅
    業務内容 薬局系、病院系のサポートサービス開発に携わっていただきます。 フロント、API、バッチ、等のバックエンド等幅広い開発案件があり、 本人のスキルを考慮して開発していただく形になります。
    基本スキル ・PHPでの開発経験が5年以上

    ・LAMP環境のサーバにログインして、ログ調査やパフォーマンス調査などの運用作業、またはサーバ構築のようなインフラ作業経験者

    ・FuelPHPを使用した開発経験

    ・RESTAPIの経験

    ・Ajaxでの開発経験

     

    今すぐシェアしよう!

    B!
    仕事内容
    techcareer freelancetechcareer freelance


    【マージン率10%案件が多数掲載!】テクフリで高単価案件を探してみよう!

    上部へ戻る