codeigniter 最新情報 2011 (増補版)
TRANSCRIPT
CodeIgniter最新情報2011
日本CodeIgniterユーザ会Kenji Suzuki
2011/09/10 @ PHP Con 2011
CodeIgniter and its logo are property of EllisLab Inc
CodeIgniterとは?
CodeIgniter and its logo are property of EllisLab Inc
CodeIgniterとは?
● アメリカのEllisLab社が開発したオープンソースのPHPフレームワーク
CodeIgniter and its logo are property of EllisLab Inc
CodeIgniterとは?
● アメリカのEllisLab社が開発したオープンソースのPHPフレームワーク
● 最初のリリースは2006年2月28日
CodeIgniter and its logo are property of EllisLab Inc
CodeIgniterとは?
● アメリカのEllisLab社が開発したオープンソースのPHPフレームワーク
● 最初のリリースは2006年2月28日 ● 現在はEllisLabとEllisLabに選ばれた6人のチーム(リアクターエン
ジニアと呼ばれる)が中心となり開発されている
CodeIgniter and its logo are property of EllisLab Inc
CodeIgniterとは?
● アメリカのEllisLab社が開発したオープンソースのPHPフレームワーク
● 最初のリリースは2006年2月28日 ● 現在はEllisLabとEllisLabに選ばれた6人のチーム(リアクターエン
ジニアと呼ばれる)が中心となり開発されている
●今、最も注目されているPHPフレームワーク
CodeIgniter and its logo are property of EllisLab Inc
今、最も注目されているフレームワーク
CodeIgniter and its logo are property of EllisLab Inc
今、最も注目されているフレームワーク
● Googleトレンド、PHP 4大フレームワーク中
CodeIgniter and its logo are property of EllisLab Inc
今、最も注目されているフレームワーク
● Googleトレンド、PHP 4大フレームワーク中
●第1位
CodeIgniter and its logo are property of EllisLab Inc
今、最も注目されているフレームワーク
Googleトレンド
CodeIgniter and its logo are property of EllisLab Inc
今、最も注目されているフレームワーク
● Googleトレンド、PHP 4大フレームワーク中
●第1位
CodeIgniter and its logo are property of EllisLab Inc
今、最も注目されているフレームワーク
● Googleトレンド、PHP 4大フレームワーク中
●第1位● MOONGIFT、好きなWebフレームワークは?(サーバサイド)
CodeIgniter and its logo are property of EllisLab Inc
今、最も注目されているフレームワーク
● Googleトレンド、PHP 4大フレームワーク中
●第1位● MOONGIFT、好きなWebフレームワークは?(サーバサイド)
●第1位
CodeIgniter and its logo are property of EllisLab Inc
今、最も注目されているフレームワーク
MOONGIFTアンケート(2011/07/01)
CodeIgniter and its logo are property of EllisLab Inc
今、最も注目されているフレームワーク
● Googleトレンド、PHP 4大フレームワーク中
●第1位● MOONGIFT、好きなWebフレームワークは?(サーバサイド)
●第1位
CodeIgniter and its logo are property of EllisLab Inc
今、最も注目されているフレームワーク
● Googleトレンド、PHP 4大フレームワーク中
●第1位● MOONGIFT、好きなWebフレームワークは?(サーバサイド)
●第1位● GitHub、最も注目されているプロジェクト(PHP言語)
CodeIgniter and its logo are property of EllisLab Inc
今、最も注目されているフレームワーク
● Googleトレンド、PHP 4大フレームワーク中
●第1位● MOONGIFT、好きなWebフレームワークは?(サーバサイド)
●第1位● GitHub、最も注目されているプロジェクト(PHP言語)
●第1位
CodeIgniter and its logo are property of EllisLab Inc
今、最も注目されているフレームワーク
CodeIgniter and its logo are property of EllisLab Inc
GitHub 最も注目されているプロジェクト(PHP言語) 2011/09/09
GitHub=https://github.com/
CodeIgniterの特徴
CodeIgniter and its logo are property of EllisLab Inc
CodeIgniterの特徴
1. PHP 4大フレームワーク中、最も動作が速い
CodeIgniter and its logo are property of EllisLab Inc
最も動作が速い
CodeIgniter and its logo are property of EllisLab Inc
http://d.hatena.ne.jp/cakephper/20110802/1312275110
CodeIgniterの特徴
1. PHP 4大フレームワーク中、最も動作が速い
CodeIgniter and its logo are property of EllisLab Inc
CodeIgniterの特徴
1. PHP 4大フレームワーク中、最も動作が速い2. PHP 4大フレームワーク中、最も覚えやすい
CodeIgniter and its logo are property of EllisLab Inc
最も覚えやすい
1. 最も規約が少ない、つまり、覚えることが最も少ない2. 最低限の学習で、すぐにコードを書き始めることができる3. ユーザガイドが簡潔ですごくわかりやすい
CodeIgniter and its logo are property of EllisLab Inc
CodeIgniterの特徴
1. PHP 4大フレームワーク中、最も動作が速い2. PHP 4大フレームワーク中、最も覚えやすい
CodeIgniter and its logo are property of EllisLab Inc
CodeIgniterの特徴
1. PHP 4大フレームワーク中、最も動作が速い2. PHP 4大フレームワーク中、最も覚えやすい 3. PHP 4大フレームワーク中、最も自由
CodeIgniter and its logo are property of EllisLab Inc
最も自由
1. はじめから拡張・変更しやすい構造2. 気に入らないものがあれば、コアライブラリであっても置き換え
ることが可能3. 例えば、
CodeIgniter + Doctrine CodeIgniter + Twig
4. 開発要件に応じて変更対応がしやすい
CodeIgniter and its logo are property of EllisLab Inc
CodeIgniterの特徴
1. PHP 4大フレームワーク中、最も動作が速い2. PHP 4大フレームワーク中、最も覚えやすい 3. PHP 4大フレームワーク中、最も自由
CodeIgniter and its logo are property of EllisLab Inc
この1年の主なできごと
CodeIgniter and its logo are property of EllisLab Inc
この1年の主なできごと
● 2010/12/03 CodeIgniter Reactorの発表
CodeIgniter and its logo are property of EllisLab Inc
CodeIgniter Reactorの発表
● CodeIgniterをCoreとReactorの2つのブランチに分岐● 開発体制の大きな変更
○ 従来は、EllisLabが開発を独占○ 今後は、
■ CoreはEllisLabが開発■ ReactorはEllisLabとコミュニティで開発
● 機能要望はUserVoiceへ
CodeIgniter and its logo are property of EllisLab Inc
この1年の主なできごと
● 2010/12/03 CodeIgniter Reactorの発表
CodeIgniter and its logo are property of EllisLab Inc
この1年の主なできごと
● 2010/12/03 CodeIgniter Reactorの発表 ● 2010/12/07 CodeIgniter 1.7.3リリース
CodeIgniter and its logo are property of EllisLab Inc
CodeIgniter 1.7.3
● 2010/12/07にリリース ● セキュリティ保守リリース
○ ディレクトリトラバーサル脆弱性への対処● CodeIgniter 1.x系最後のリリース
○ 1.x系の保守はこのバージョンで終了● 日本語言語パックは12/14にリリース
CodeIgniter and its logo are property of EllisLab Inc
この1年の主なできごと
● 2010/12/03 CodeIgniter Reactorの発表 ● 2010/12/07 CodeIgniter 1.7.3リリース
CodeIgniter and its logo are property of EllisLab Inc
この1年の主なできごと
● 2010/12/03 CodeIgniter Reactorの発表 ● 2010/12/07 CodeIgniter 1.7.3リリース● 2010/12/12 CodeIgniter ReactorのリポジトリがBitbucketで公
開
CodeIgniter and its logo are property of EllisLab Inc
この1年の主なできごと
● 2010/12/03 CodeIgniter Reactorの発表 ● 2010/12/07 CodeIgniter 1.7.3リリース● 2010/12/12 CodeIgniter ReactorのリポジトリがBitbucketで公
開 ● 2011/01/29 CodeIgniter 2.0.0(Core & Reactor)リリース
CodeIgniter and its logo are property of EllisLab Inc
CodeIgniter 2.0.0
● 2011/01/29にリリース ● CoreIgniter ReactorとCodeIgniter Coreの2つがリリース
○ ただし、Coreは配布パッケージは作成されずBitbucketのリポジトリ上にタグが打たれただけ
● CodeIgniter Reactor○ CodeIgniterといえばReactorを指すことに○ コミュニティとEllisLabで開発○ 6人の外部のコミッタ(リアクターエンジニアと呼ばれる)○ 速いペースの開発
● CodeIgniter Core○ EllisLabが自社製品に利用○ ゆっくりとした開発速度、エンタープライズ向け
● 日本語言語パックは02/25にリリース
CodeIgniter and its logo are property of EllisLab Inc
この1年の主なできごと
● 2010/12/03 CodeIgniter Reactorの発表 ● 2010/12/07 CodeIgniter 1.7.3リリース● 2010/12/12 CodeIgniter ReactorのリポジトリがBitbucketで公
開 ● 2011/01/29 CodeIgniter 2.0.0(Core & Reactor)リリース
CodeIgniter and its logo are property of EllisLab Inc
この1年の主なできごと
● 2010/12/03 CodeIgniter Reactorの発表 ● 2010/12/07 CodeIgniter 1.7.3リリース● 2010/12/12 CodeIgniter ReactorのリポジトリがBitbucketで公
開 ● 2011/01/29 CodeIgniter 2.0.0(Core & Reactor)リリース● 2011/02/19 CodeIgniter Con 2011, Tokyo Japan開催
CodeIgniter and its logo are property of EllisLab Inc
CodeIgniter Con 2011, Tokyo Japan
● 東京、蒲田のPiOで開催● 参加申込受付開始から1週間で満席● 参加者79人● 公式サイト http://cicon.codeigniter.jp/2011/
○ セッションでの発表資料およびUst録画があります
CodeIgniter and its logo are property of EllisLab Inc
この1年の主なできごと
● 2010/12/03 CodeIgniter Reactorの発表 ● 2010/12/07 CodeIgniter 1.7.3リリース● 2010/12/12 CodeIgniter ReactorのリポジトリがBitbucketで公
開 ● 2011/01/29 CodeIgniter 2.0.0(Core & Reactor)リリース● 2011/02/19 CodeIgniter Con 2011, Tokyo Japan開催
CodeIgniter and its logo are property of EllisLab Inc
この1年の主なできごと
● 2010/12/03 CodeIgniter Reactorの発表 ● 2010/12/07 CodeIgniter 1.7.3リリース● 2010/12/12 CodeIgniter ReactorのリポジトリがBitbucketで公
開 ● 2011/01/29 CodeIgniter 2.0.0(Core & Reactor)リリース● 2011/02/19 CodeIgniter Con 2011, Tokyo Japan開催● 2011/03/01 CodeIgniter Sparks 開始
CodeIgniter and its logo are property of EllisLab Inc
CodeIgniter Sparks
CodeIgniter and its logo are property of EllisLab Inc
CodeIgniter Sparks
● CodeIgniterのためのパッケージマネージャ&リポジトリ● いろいろな場所で公開されているCodeIgniter用のライブラリを一
か所に集めるためにリアクターエンジニアが開発したサービス ● コマンドラインから簡単に登録されているライブラリをインストー
ルできる(CUIを使わずに手動でインストールすることも可能)● 当初はCodeIgniter公式のサービスではなかったが、CodeIgniter
2.1.0からはCodeIgniter標準になる予定
CodeIgniter and its logo are property of EllisLab Inc
この1年の主なできごと
● 2010/12/03 CodeIgniter Reactorの発表 ● 2010/12/07 CodeIgniter 1.7.3リリース● 2010/12/12 CodeIgniter ReactorのリポジトリがBitbucketで公
開 ● 2011/01/29 CodeIgniter 2.0.0(Core & Reactor)リリース● 2011/02/19 CodeIgniter Con 2011, Tokyo Japan開催● 2011/03/01 CodeIgniter Sparks 開始
CodeIgniter and its logo are property of EllisLab Inc
この1年の主なできごと
● 2010/12/03 CodeIgniter Reactorの発表 ● 2010/12/07 CodeIgniter 1.7.3リリース● 2010/12/12 CodeIgniter ReactorのリポジトリがBitbucketで公
開 ● 2011/01/29 CodeIgniter 2.0.0(Core & Reactor)リリース● 2011/02/19 CodeIgniter Con 2011, Tokyo Japan開催● 2011/03/01 CodeIgniter Sparks 開始 ● 2011/03/15 CodeIgniter 2.0.1リリース● 2011/04/07 CodeIgniter 2.0.2リリース
CodeIgniter and its logo are property of EllisLab Inc
CodeIgniter 2.0.2
● 2011/04/07にリリース ● セキュリティ修正リリース
○ XSSフィルタに脆弱性● 予定外の緊急リリースであり、リリースエンジニアリングが未成
熟だったため、Reactorは開発途中の状態のままリリースされてしまった
● CodeIgniter史上、Reactor 2.0.2は最もバグの多いリリースとなった
● 日本語言語パックはリリースを見送り
CodeIgniter and its logo are property of EllisLab Inc
この1年の主なできごと
● 2010/12/03 CodeIgniter Reactorの発表 ● 2010/12/07 CodeIgniter 1.7.3リリース● 2010/12/12 CodeIgniter ReactorのリポジトリがBitbucketで公
開 ● 2011/01/29 CodeIgniter 2.0.0(Core & Reactor)リリース● 2011/02/19 CodeIgniter Con 2011, Tokyo Japan開催● 2011/03/01 CodeIgniter Sparks 開始 ● 2011/03/15 CodeIgniter 2.0.1リリース● 2011/04/07 CodeIgniter 2.0.2リリース
CodeIgniter and its logo are property of EllisLab Inc
この1年の主なできごと
● 2010/12/03 CodeIgniter Reactorの発表 ● 2010/12/07 CodeIgniter 1.7.3リリース● 2010/12/12 CodeIgniter ReactorのリポジトリがBitbucketで公
開 ● 2011/01/29 CodeIgniter 2.0.0(Core & Reactor)リリース● 2011/02/19 CodeIgniter Con 2011, Tokyo Japan開催● 2011/03/01 CodeIgniter Sparks 開始 ● 2011/03/15 CodeIgniter 2.0.1リリース● 2011/04/07 CodeIgniter 2.0.2リリース● 2011/05/14 第1回CodeIgniter東京勉強会
CodeIgniter and its logo are property of EllisLab Inc
この1年の主なできごと
● 2010/12/03 CodeIgniter Reactorの発表 ● 2010/12/07 CodeIgniter 1.7.3リリース● 2010/12/12 CodeIgniter ReactorのリポジトリがBitbucketで公
開● 2011/01/29 CodeIgniter 2.0.0(Core & Reactor)リリース● 2011/02/19 CodeIgniter Con 2011, Tokyo Japan開催● 2011/03/01 CodeIgniter Sparks 開始 ● 2011/03/15 CodeIgniter 2.0.1リリース● 2011/04/07 CodeIgniter 2.0.2リリース● 2011/05/14 第1回CodeIgniter東京勉強会● 2011/08/20,21 CodeIgniter Con 2011, New York
CodeIgniter and its logo are property of EllisLab Inc
CodeIgniter Con 2011, New York
CodeIgniter and its logo are property of EllisLab Inc
CodeIgniter Con 2011, New York
● 2011/08/20,21 New Yorkで開催● CodeIgniter 2.0.3リリース● リポジトリをGitHubへ移行、Coreの配布終了
○ BitbucketにあったリポジトリがGitHubへ移行○ CodeIgniter Coreは配布を終了○ 今後は、CodeIgniter ReactorがCodeIgniterとなる
CodeIgniter and its logo are property of EllisLab Inc
GitHubへの移行
● 移行後わずか6日で○ 587人のwatcher○ 30人のcontributor○ 124のコミット○ 44のpull requestがマージされる○ 105のissueがクローズ
● 9/9現在○ Most Watched PHP Repositoriesで第7位
CodeIgniter and its logo are property of EllisLab Inc
CodeIgniter 2.0.x
CodeIgniter and its logo are property of EllisLab Inc
CodeIgniter 2.0.x
● 2.0.0は2011/01/29にリリース ● 初のメジャーバージョンアップ● 多くの新機能といくつかの変更
○ でも、ゼロから書き直しではない● 50以上のバグ修正!
CodeIgniter and its logo are property of EllisLab Inc
CodeIgniter 2.0.x
● 主な変更点○ PHP 5.1.6以上が必要 ○ フォルダ構成の変更 ○ コントローラ名、モデル名のベースクラス名の変更
● 主な新機能 ○ $_GETが普通に使えるように! ○ 複数の環境で異なる設定が可能に(2.0.1) ○ CSRF保護機能 ○ CLIからの実行をサポート○ ドライバ機能○ キャッシングドライバ ○ アプリケーションパッケージ機能
CodeIgniter and its logo are property of EllisLab Inc
フォルダ構成の変更
CodeIgniter and its logo are property of EllisLab Inc
フォルダ構成の変更
● system/application → application● system/cache → application/cache● system/logs → application/logs● system/libraries → system/core(コアクラス)とsystem/libraries
(その他)に分離● 新設
○ application/third_party(アプリケーションパッケージ)● 廃止
○ system/plugins○ system/scaffolding
CodeIgniter and its logo are property of EllisLab Inc
コントローラ、モデルのクラス名の変更
● Controller → CI_Controller● Model → CI_Model
CodeIgniter and its logo are property of EllisLab Inc
$_GETが普通に使えるように!
● CodeIgniter 1.xはGETが使えませんでした!○ セキュリティのため、システム初期化時にGET配列をクリア!!
● CodeIgniter 2.0.0からはGETが使えるように○ 標準ではGETをクリアしないように変更
CodeIgniter and its logo are property of EllisLab Inc
CSRF保護機能
● デフォルトはオフ● オンに設定すると、フォームヘルパーform_open()を使った場合、
自動的にトークンが追加され、チェックされるようになる
CodeIgniter and its logo are property of EllisLab Inc
CLIからの実行
● バッチ処理、cronからの起動が標準で可能に
CodeIgniter and its logo are property of EllisLab Inc
複数の環境で異なる設定
● 定数ENVIRONMENTにより、設定ファイルが変更される○ 開発環境と本番環境で設定ファイルを変えるなど
CodeIgniter and its logo are property of EllisLab Inc
ドライバ
● 特殊なライブラリ● 1つの親クラスと複数の子クラス● 子クラスは親クラスにアクセスできるが、他の子クラスにはアク
セスできない● 例、データベースドライバ
○ 子クラス■ mysql■ mysqli■ postgre■ oci8■ ...
CodeIgniter and its logo are property of EllisLab Inc
キャッシングドライバ
● ドライバで実装されている ● 子クラス
○ memcached○ APC○ ファイルベース
CodeIgniter and its logo are property of EllisLab Inc
アプリケーションパッケージ機能
● 単一ディレクトリ内にビュー、ライブラリ、モデル、ヘルパー、設定ファイル、そして言語ファイルを配置する機能
● パッケージはapplication/third_partyフォルダに配置● アプリケーションのプラグインのための機能
CodeIgniter and its logo are property of EllisLab Inc
今後の予定
CodeIgniter and its logo are property of EllisLab Inc
今後の予定
● html_escape()関数の追加 ● データベースのMigration機能● パッケージマネージャ&リポジトリ「Sparks」の統合● PHPUnitによるユニットテスト● IPv6対応● Sparksへ移動
○ Cartライブラリ○ JavaScriptライブラリ
CodeIgniter and its logo are property of EllisLab Inc
CodeIgniterの最新情報の収集方法
● 日本語 ○ ユーザ会メーリングリスト http://codeigniter.jp/mailinglist○ twitter ハッシュタグ #codeigniter○ 各地での勉強会○ 日本でのCodeIgniter Con http://cicon.codeigniter.jp/
● 英語
○ 本家フォーラム http://codeigniter.com/forums/○ 本家Wiki http://codeigniter.com/wiki/○ 本家GitHubリポジトリ https://github.
com/EllisLab/CodeIgniter
CodeIgniter and its logo are property of EllisLab Inc
ユーザガイド翻訳作業協力者の募集
● 日本CodeIgniterユーザ会では、ユーザガイドの翻訳作業を手伝ってくれる方を募集しています
● 協力してもいいという方は、ユーザ会メーリングリストでお知らせください
CodeIgniter and its logo are property of EllisLab Inc
さらにCodeIgniterを学習するには?
● CodeIgniterまとめWiki http://club.h14m.org/kenji/CodeIgniter/
CodeIgniter and its logo are property of EllisLab Inc
まとめ
● CodeIgniterは今、最も注目されてるPHPフレームワークです● CodeIgniterは、GitHubで活発に開発されています● CodeIgniterユーザの方は、日本CodeIgniterユーザ会のメーリ
ングリストに登録しておきましょう ● 日本CodeIgniterユーザ会は、ユーザガイドの翻訳作業を手伝っ
てくれる人を募集しています
CodeIgniter and its logo are property of EllisLab Inc