【PHP入門】フレームワークとは?




こんにちは、siroです。

皆さんは、フレームワークって知っていますか?

エンジニアなら使ったことがある人が大半、、、というか、ほとんどがフレームワークありきで開発されています。

最近だと、Ruby on Railsが有名ですね。

Rubyだとほぼ一択でRuby on Railsなんですが、僕が使っているPHPだとフレームワークの種類が多いです。

初めて触るときはフレームワークの選定にちょっと迷うもの。

  • そもそもフレームワークってなんぞ?
  • 使うとどんなメリットがあるの?
  • PHPでお勧めのフレームワークって何?

使ったことがあるフレームワークは少ないですが、選定にあれやこれやと調べていたのでここでまとめておきますね。

PHPってなに?

軽く、PHPについて触れておきます。

wikiでは次のように説明されています。

PHP(ピー・エイチ・ピー)は “The PHP Group” によってコミュニティベースで開発されているオープンソースの汎用プログラミング言語およびその公式の処理系であり、特にサーバーサイドで動的なウェブページ作成するための機能を多く備えていることを特徴とする

はい、よくわかりませんね。笑

抜粋すると、サーバー側の動的WEBページを作成するための言語と説明されています。

Siro
動的ってなんだよ。動きがある・・・?どゆこと?

という僕みたいな人のために、もう少し詳しく説明します。

例えば、Amazonをイメージしてください。

特定のキーワードで検索すると、検索結果の商品が表示されますね。

検索するキーワードによって表示内容を変えたい場合などに、何のデータをとってきて表示するか?を処理するための言語がPHPです。

検索するキーワードによって、表示される商品が動的に変わるというわけですね。

『HTMLで表示するための箱の部分を用意しておき、表示する内容はPHPがデータベースなどからとってきて表示』といった流れなわけです。

そもそもHTMLとかCSSってなんや・・・という人はググってください。(いつか丁寧にまとめます。笑)

フレームワークってなんぞ?

さて、本題に入ります。

(ソフトウェア)フレームワークはwikiでは次のように説明されています。

ソフトウェアフレームワークは、システム構築に必須な標準的かつ低レベルの詳細を設計者やプログラマが検討する時間を省き、要求仕様の実現に多くの時間を割けるようにし、ソフトウェア開発を容易にすることを目指している。例えば、銀行のWebサイト構築にWebアプリケーションフレームワークを使っている開発チームは、要求処理や状態管理の機構を検討する時間を削減して、口座からの引き落としといった操作に注力できる。

はい、またもやよくわかりませんね。笑

簡単に言うと、『速く開発ができ、バグが少なく、後から修正もしやすく、一定の品質も担保できる素晴らしい仕組み』です。

フレームワークを使った開発の場合は、フレームワーク特有の決められた書き方を覚えて開発を進めていきます。

そのため、ある程度決まった場所に機能が寄ってくるので、後から別の人が見てもなんとなーくなに書いているのか追いやすいわけですね。

作る側も、あそこにあれを書いて-こっちにこれを書いて-と、迷わず開発に集中できるというわけです。

PHPのフレームワークって何があるの?

PHPフレームワークはとにかく種類が多いです。

代表的なフレームワークはコチラ

  • CakePHP
  • Laravel
  • CodeIgniter
  • FuelPHP
  • Symfony

世界的な人気度はコチラ

国内のみの人気度はコチラ

もうね、圧倒的にLaravelなんですよね。

国内では、CakePHPがもともと代表格だったんですが、最近ではLaravelが推してきています。

どのフレームワークがどんなメリットが?という詳細についてここでは語りませんが、今からPHPのフレームワークを覚えるならLaravel一択で良いと思います。

少しずつ使い方とか、環境構築とかまとめていくのでお楽しみに!

ではでは。

The following two tabs change content below.

Siro

ネコ好きフリーランスエンジニア。
開発、技術、働き方、ツールなどについて発信しています。
楽しく、開発しようぜ!