photo credit: Tc Morgan via photopin cc
PHPを本格的に始めて、いやプログラム自体を真面目に始めて約4ヶ月、どうもOsamuです。
やっとこさプログラミングってどんな感じなのか、どんな所に面白さを感じるのかという部分はモヤッとしながらも理解できてきた。そんな感じがしています。
さて、2014年の1月からプログラミング、PHPに触れ始めたのですが、最初に触れて今でも使っているフレームワークは「CodeIgniter」です。日本語だと「コード点火装置」。うん、やっぱこういうのは日本語訳しちゃイカンですね。
もう1つ触れたフレームワークがsymfonyなのですが、今のところ好みなのはCodeIgniterの方です。
さて、今回は4ヶ月がむしゃらにCodeIgniterを触り続けた私が感じた、初心者目線でCodeIgniterを勉強する4つのメリット、そして2つのデメリットをご紹介します。
PHP初心者やCodeIgniterに触れた事のないPHPプログラマーの参考になれば幸いです。
CodeIgniterを勉強して感じた3つのメリット
photo credit: Tc Morgan via photopin cc
メリット1. フレームワークとして学習する事が少ない
まず1つ目のメリットですが、学習するコストが非常に少ないという事です。CodeIgniterとして覚える事が非常に少なく、PHPを理解していればあなたの学習する時間と、脳みその容量コストは非常に少なくて済みます。
symfonyを批判するわけではないですが、symfonyに触れた時はまず覚える概念が結構難しかったのです。CodeIgniterはフレームワークに始めて触れるPHPプログラマーにも非常にやさしいと言えます。
これは特に初心者には嬉しい限りです。
メリット2. 構造がシンプル、直感的、エキサイティング!!
構造がシンプルです。シンプルすぎてそりゃもうエキサイティングです。
CodeIgniterはMVC(Model View Controller)を採用しておりますが、その流れが非常に分かりやすいのです。
又、具体的な説明はユーザーガイド日本語版を参照して頂くのが分かりやすいですが、個人的にURLの最初のセグメントがコントローラークラスであるこの構造が非常に分かりやすいのです。
どうゆう事かというと
example.com/arubeh
というURLがどこのコントローラークラスなのかというと、凄くシンプルで
applicationフォルダ内の、controllersフォルダ内の、arubeh.phpとを参照すれば良いのです。コレ、凄い、シンプルで、見やすくて、初心者には、最高!
メリット3. 日本でもユーザー会が定期的に開催されている
3つ目のメリット、CodeIgniterユーザ会が定期的に開催されているという点です。
スタンドアロンな周りにPHPプログラマーがいない方にも、仲間を得る集まりが開催されているのは嬉しい所です。
私もcodeigniterに始めて触れた時に、すぐ2014年2月に実施された3回目に参加しようと申し込みました(業務都合で参加はキャンセルしてしましました、関係者の方々申し訳ありません)
しかし、こういった機会があると分からない時に質問できる、逆に分かる時には助けてあげられる仲間が増えて非常に良いと思います。
私も次回は是非参加したい!
メリット4. 世界的には大人気のフレームワーク
2014年2月PHPフレームワークのトレンドを見ると、世界的に見てCodeIgniterの人気がまだまだ1位である事が分かります。
と、いう事はです。
困った時にGoogleで検索すると情報がたくさんあるって事ですね!私も詰まった時には色々と調べました。情報が多くあるのは初心者にはまず必要な条件ですね。
まぁ日本での人気はまぁまぁなので、海外に情報が多く存在している。という状況ではありますが。
CodeIgniterを勉強して感じた2つのデメリット
デメリット1. 日本の参考書が1冊しかない
世界的には1番人気のあるPHPフレームワーク。なのに、なのに、日本での参考書は1冊しかないのです・・・。なんでやねん!
又、私も最初の勉強の時に買って読みましたが、非常に濃密に書かれている本で素晴らしい内容なのですが、書かれている頃のバージョンが1.6.1で、現在の最新バージョンが2.1.4。そして2.1.4をインストールしてしまうと本の通り内容を進めていく事ができません。
『CodeIgniter徹底入門』に対するノートを活用する事で本の通り進めていく事ができますが、初心者には中々厳しいです。事実私は結構つまづきました。
Web上には英語、日本語と多くの情報はありますが、本で個人的に黙々と勉強したい方は最初戸惑うかもしれません。
デメリット2. 大型の開発業務に向かない
調べてみると多くのプログラマーの方がブログでも書かれている事なのですが、CodeIgniterは大型の開発に向かないとよく指摘されています。
上記でも紹介したsymfonyは大型開発に向いたフレームワークのようです。
しかし、大型に向かないとは言っても、個人的にはベンチャー企業や個人で作るシステムには全く不自由を感じておりません。
恐らくCodeIgniterは自動的に何かを作成してくれる機能がなく、自分たちで全てがんばってプログラミングしていく。という部分が大型開発に向かないと言われる要因なのかな。と感じております。
おります。が、現状使っていて不満は感じておりません。
総合的に考えると初心者が勉強するPHPフレームワークとしては最適
photo credit: Scott Beale via photopin cc
CodeIgniterは4ヶ月程勉強してみて、最適なフレームワークかな。と強く感じております。
まず
・勉強コストが少ない
・直感的に構造が理解しやすい
・情報がたくさんある(本は1冊しかないけどね)
・日本のユーザー会が存在している
という点は初心者には心強いでしょう。
「プログラミング始めてみたい・・・」「PHPやってみようかな」「PHPはある程度わかったけど、フレームワークってやつに手を出してみるか」
というそこのあなた!CodeIgniterに是非触れてみては如何でしょうか。
始めまして。
>恐らくCodeIgniterは自動的に何かを作成してくれる機能がなく、自分たちで全てがんばってプログラミングしていく。という部分が大型開発に向かないと言われる要因なのかな。と感じております
CakePHPだと、cssやJavaScriptを集める”view blocks”とかあるんですが、確かCodeIgniterには、無いですよね。
symfonyには”スロット”とかいう機能もあります。
この部分を読みまして、納得いたしました。
ちょっとスッキリしました。(´・ω・`)