2018年度最新!【PHPフレームワーク】これがあれば、PHP最強!おすすめフレームワーク

プログラム言語の「PHP」がもっとも利用されているWEB関連サービスは、あいかわらず技術者需要が多い分野。 業務内でも、以前に比べるとゼロからコーディングする部分がどんどん減っているので負担が少なくなっている分野でもあります。そこで今回は「より使いやすさ&作業品質をUPさせる、PHPフレームワーク」をご紹介します。







Web関連プログラムでは非常に使用する機会も多く、また基本的なところは習得も簡単。ですがちょっと複雑な処理をしようと思ったら「どうやったら安全でスマートなコードができるか」に迷うことも多い、PHP。



ゼロから、あるいは自社で秘伝のタレのように長年使い続けているフレームを利用するよりも、いっそのこと、より多くのユーザーと、PHPに特化した開発者が提供している「フレームワーク」を利用してみるのはいかがでしょうか?

今回は「より使いやすさ&作業品質をUPさせる、PHPフレームワーク」をご紹介します。

【PHPとは】









「PHP」とは「Hypertext Preprocessor」の略語。

汎用スクリプト言語でオープンソース。HTML に埋め込むことができ、とくにWEB分野では非常に良く利用されています。

PCやモバイル利用の多くは、インターネット閲覧という方も多く、ブラウザ上で動かすことができ、さらにはブラウザ上で問題が発生しても、比較的システム側に影響は大きすぎないこと。そしてPHP自体が非常にわかりやすい言語であることから、初心者がHTMLなどと並んで、まず入門期に取り組むプログラミング言語と位置付けている企業や学校も多いようです。

データベースをサポートしており、同書式を持つ多数のWEBサイトなどで、「HTMLソース用のテキスト流し込み」的に用いられているのはもっともよく知られているところ。

HTMLファイルの<BODY>タグの間に、

<~略 ここからボディタグ> この位置でタグのカッコと?で前後を挟み、PHPで行わせたいことを書 <ここまでBODYタグ 略~>

この<?から?>までの処理は、ブラウザ側=クライアントサイド で行われるのではなく、サーバ側で実行されます。

だから、ブラウザに表示されるHTMLのソースが、どういった方法で生成されているのかがわかりにくいのです。

この「サーバサイドで行われる処理」で、もっともPHPが多く使われており、このほかに「コマンドラインでのスクリプティング」「クライアントサイドでのGUIアプリケーション」などにも利用可能です。

現在使用されている、ApacheやIIS等ほとんどすべてのWebサーバをカバー。サーバOSでは、Unix系のSolaris、OpenBSD、Linuxなど。そしてオフィス利用なども含めて多く使われているMicrosoft Windows, Mac OS Xでも動作。

とくに特徴的で良く知られているテキスト処理系~テキストやソース生成だけでなく、イメージやPDF、Flashムービーなどもその場で作成できるのです。

そのほかのWeb関連技術や言語とのなじみが抜群で、さらにはさまざまな拡張モジュールも利用でき、JavaインスタンスをPHPのオブジェクトとしてアクセスすることもできます。

このあたりまでを、かなり柔軟かつ十分に使いこなせているところはあまりありませんが、実はとっても使える言語。

拡張モジュールのうち、マニュアル掲載があるだけでも150以上と、学び始めてからも、バリバリ使うようになってからも、意外と奥深いのです。

比較的、習得が簡単なんていわれてきた言語ですが、これじゃあなんだか、PHPの海でおぼれてしまいそう・・・

【PHPフレームワークとは】







これだけ利用範囲が広いのなら、それだけ言語内部での制約も多く、実際に動かし始めると部分的な手直しで、だんだん難しくなってくるのでは?なんて思っている方。

こんな方はもちろん、
  • PHPには不慣れでこれからの展開がちょっと読めない方
  • ある程度キャリアはあるけれど最新のセキュリティやリソース管理技術を反映させたものにしたい方
  • Web案件の冗長になりがちなコード生成量を、単純にできるだけすっきり減らしたい方
  • 無駄のない開発を行いたい方

・・・などなどにぜひおすすめしたいのが、「PHPフレームワーク」

簡単にいえば、コード記法が整頓されていたり、非常によく使われる項目などがツールのようにそろえられていて、それを利用したーディング(プログラミング)が行える「ソフトウェア」やWeb経由をはじめとする「サービス」のこと。

作りたいサイトやアプリのひな型+ここからこういうコマンドを使いたい人に向けて、次にやるべきことの思考ポイントをざらざらっと提示してくれるものもあります。


わかりにくいでしょうか?


マイクロソフトなど大手が出しているプログラミングツールで、補うべき分岐やオプション、仕様などがドロップダウンなどとして表示されますよね。あれがもうちょっと詳しくなったり、構造的な大きな枠組みのものになってるという感じで、最初はとらえておいていいかもしれません。

どちらかというと、すでにできているいろいろなプログラムコード断片がたくさん入ってて便利に使えると考えるほうが自然かも。


ですが、こうしたものを使って生成したコードは、とくにウェブなどで利用し始めると、セキュリティ上リスクが高いのでは?と思われる方も少なくないようです。

正直なところ、こういったところである程度使えるものとして公開されている技術や、配布されているソースなどは、同じようにこの技術を使う多数の人の目に触れています。

また、リスクが発生しそうなとき、同じ技術を似たようなレベルで利用している他の技術者から、対策が必要な事象や部分についてもコメントや、対応法が入手しやすくなることも。

一部サービスでは、Aiなどを用いて、機能面などの改善分析に加えて、こうしたリスク予測なども見えないところで行い、逐次フィードバックさせています。(この辺は大手のリリースしている開発環境ツールや、ウイルス予測系のAi&人的体制などと同じですけどね)


だからむしろ、情報や技術そのものなど、一部パートを共有することで、互いにセキュリティリスクは低くなっている+リスク対応も迅速にとれる+便利さも自社の秘伝のタレよりもずっと進化している・・・と考えたほうがいいでしょう。

【2018年最新版 おすすめ PHPフレームワーク!】









利用することで、コードそのものや構想部分でも、個人サイズのブレイクスルーや気づきが得られるかもしれない「フレームワーク」。

次にあげる中では、世界的にはかなり大きくパワフルな業務にも対応でき、以前から良く知られている、Symfony(大型システムにも対応して頑強だが、ちょっと遅い)、ZendFramework(MicrosoftやIBM、Google他大手と提携。拡張性充実!)、が人気。ついでわかりやすさや使い勝手など、個々の特徴から、CakePHP(プロトタイプや軽めのものに。最速で作れる)、Codeigniter(シンプル)、Laravel(シンプル)も人気です。


また、日本では、やはり秘伝のタレ優先~社内でのこうしたツールや取り決め優先という堅めの業務に使われることも多いせいか、軽めのものやプロトタイプなどでだけ、外部のフレームワークを多く用いるところが多いようです。

昔からあるCakePHP(プロトタイプや軽めのものに。最速で作れる)の他、やはり海外人気を受けたシンプルなLaravel

またWeb人気(??)のくまちゃんたちによる、日本人によって作られたBEAR.Sunday!!

アスペクト指向&リソース指向プログラミングなどの特徴があり、レコード登録数やアクセスに特徴があるなどのWEBや業務系ツールなどを作成するにも、異端の存在でおすすめです。

この考え方に触れるという意味でも、学習者や、連休のお楽しみ課題的に、BEAR.Sundayはおすすめです!







<一般的フレームワーク>



【Symfony】


https://symfony.com/

PHPフレームワークの中では古いSymfony。自動生成機能などに優れ、非常にしっかりとした構造。古いだけにMVCモデル使用でちょっと速度は犠牲にしていますが、現在も大型システムなどに使っているところも多く見られます。

モックアップ用にという感じではなく、腰を据えて使う感じです。



【ZendFramework】


https://framework.zend.com/

前述のとおりMicrosoftをはじめ大手との技術提携が多く、信頼性の高いPHPフレームワークとして利用が非常に伸びているのがZendFramework。

あまり歴史は古くありませんが、利用者数が多く、日本語による解説サイトや、eラーニングの講座も見られます。MVC利用ですが、拡張性が非常に高く、いま新たに使い始めるとすると、ここかLaravelという方も多いようです。



【CakePHP】


https://cakephp.org/jp

古くからあるCakePHP。ケーキを焼くみたいに簡単に作れてしまうので、プロトタイプ用などいろいろな利用ができます。名前の縛りが結構多く、コマンドやクラス名以外、ファイルやデータベース名にもあります。ですが、さらっと作ったものでもちゃんと動作するほど便利に使えて大人気です。

こちらもMVCベースですが、翻訳、データベースアクセス、キャッシュ、検証、認証などがはじめから組み込み。サイズも伴って非常に動きは悪くないところも魅力的。

企業案件などで、構造や命名にかなり制約がもともと存在しているなら、別のフレームワークを利用するのがおすすめ。



【CodeIgniter】


https://codeigniter.com/

こちらもMVCベースですが、一定の範囲内の構造サイズのものであれば、非常に軽量で動作が軽いことが特徴。

かなりシンプル。



【Laravel】


http://laravel.jp/

非常に人気が上昇中のLaravel。なんといってもSymfonyをベースとしていて、さらにライブラリが非常に多数。

それでいて構造がシンプルで、触ったその日に作り始めることができるといわれるほど。大規模システムにはあまり向かないという評価も・・・



【Yii】


http://www.yiiframework.com/doc/guide/1.1/ja/quickstart.what-is-yii (リンクはYii公式ガイド)

大規模なアプリやサービス、たとえば販売系CMS、ポータルといったWEBアプリケーションを迅速に開発するためのもの。とにかく高速で安全。MVCベースでオブジェクト指向型です。

ちなみにYiiはイーと発音し、仮面ライダーのショッカーそのもの!



【FuelPHP】


https://bearsunday.github.io/

現在主流の、オブジェクト指向型とはまったく違った方向性の「個性派フレームワーク」。 https://bearsunday.github.io/manuals/1.0/ja/ BEAR.Sundayとは
  • 依存関係逆転の原則に基づいてインターフェイスでオブジェクトを結ぶ「Ray.Di」。
  • 本質的関心と横断的関心を結ぶアスペクト指向プログラミングの「Ray.Aop」。
  • REST制約でアプリケーションの情報や機能を結ぶ「BEAR.Resource」。


最短経路による、検索性の速さのようなものを目指した機械学習への前段階のようなものだと考え、ちょっと古い技術中心に学習&業務を行ってきた人が、勉強用に取り組むにも面白いかもしれません。







【まとめ】









フレームワークは、たとえばそれがPHPに利用できるものであっても、PHPで書かれたすべてのものが、異なるフレームワークで利用できるわけではありません。



こんなときに pieceのリクエスト:https://www.piecex.com/requests  をぜひ使ってみてください。



現在企業でも、在宅ワークとの兼業などが推奨され、自分の著作物を販売するサラリーマンも増えています。

となると、個人のプログラマーにお願いしていたより、非常に経験年数や業務数も多い優秀な技術者がリクエストに応えてくれる可能性も。



自社では、自分では思いもつかないほど、非常に精緻に考え抜かれたソースコードとの出会いは、単にできあがったシステム全体の質を高めてくれるだけでなく、いつかこんなコードが書けるようにといった、刺激にもなりますよね。

Additional Images




Comments

Loading…

We use cookies and other technologies to improve your experience on our website and to analyze our traffic. By browsing our website, you consent to our use of cookies and other tracking technologies.

Accept cookies and close this message