よちよち歩きのITエンジニアのメモ

Web技術など学んだ内容をメモしておくブログです。どんなにちっちゃくてもいいから、 一歩、ほんの小さな一歩でも夢や目標に近づくように頑張ります

PHP FrameworkのCodeIgniter(コードイグナイター)に関する調査

PHP FrameworkのCodeIgniter(コードイグナイター)に関する調査

著者: ふじさわゆうき
更新日: 2016/10/06

背景

仕事でPHP FrameworkのCodeIgniterを使うことになったので、フレームワーク理解のため、調査した結果をブログに残しておこうと思います。

公式サイト

概要

  • 軽量で速度重視であることを特徴とするWebアプリケーションフレームワーク
  • CodeIgniterの最初の公開バージョンは、2006年
  • 2011年にはPHPの他の主要フレームワーク (CakePHP, Zend Framework, Symfony) を抑えCodeIgniterが最多となったことがある
  • Ruby on Rails のように、CodeIgniterでは、ユーザは Active Record(バージョン3.0以降はQuery Builderに改称)を用いてデータベースに接続する
  • バージョン3.xは、MITライセンスに変更されライセンス懸念が無くなった

PHPフレームワークの比較(Google Trendsをもとに)

条件、ツール

  • 日時
    • 2016年10月6日
  • 比較した言語
    • laravel, cakephp, zend framework, codeigniter, symfony
  • 条件
    • Google Trends
    • 過去1年間
    • すべての国、日本

分析結果

  • 世界でも、日本でも"laravel"が1番人気
  • "codeigniter"は、日本では"CakePHP"に負けるが、世界では2番人気と"CakePHP"よりも人気がある
  • 日本で人気の"CakePHP"は、世界では4番人気なので微妙なところ
  • したがって、2016年10月現在だと、"laravel"か"codeigniter"が有力といえる

メリット

パフォーマンスが良い

以下のサイトでベンチマーク結果が載っているのですが、
https://github.com/kenjis/php-framework-benchmark

laravel, cakephp, zend framework, codeigniter, symfonyの中では、パフォーマンスが最も良いです。

  • requests per second: 1秒間に処理されたリクエスト数。Webサーバのベンチマークで最も重視される項目
  • peak memory: PHP スクリプトに割り当てられたメモリの最大値
framework requests per second peak memory
codeigniter-3.0 810.99 0.43
cake-3.1 207.27 1.37
symfony-2.7 101.99 3.21
laravel-5.1 91.59 2.76

学習コストが低い

以下の記事などに書かれているのですが、
CodeIgniterを約半年使ってみた感想など - WEBエンジニア奮闘記

一番は学習コストの低さじゃの!ヘボプログラマーの自分でも、マニュアルをザーッと読んだだけで、 すぐに開発を始められるくらいお手軽でわかりやすい。マニュアルもわかりやすい。初めて何かフレームワークに触れてみようか、という人には是非オススメしたい

など、他にも学習コストがcakephpと比較して低いという声がGoogle検索してみると多い

まとめ

  • "codeigniter"は、"laravel"よりも人気で劣るもののパフォーマンスでは圧倒的にメリットがある
  • MITライセンスに変更されライセンス懸念も無い
  • パフォーマンスが重要なWebサイトでは、"codeigniter"が良いと思われる