さてそれではコードイグナイターを使う準備をば。


コードイグナイターって名前カッコよす(ドーデモイイ


とりあえずwindows環境ということでXAMPP環境という前提で進めていきますのでよろしこ。


XAMPPはここ でDLできるので各自勝手に準備してくだされ(ぉ


※とりあえず注意※

XAMPPでフレームワーク使う際には設定ファイルを書き換える必要があります。


下記設定を確認し、必要があれば書き換えましょう。


[mod_rewriteモジュール]

\xampp\apache\conf\httpd.conf

#LoadModule rewrite_module modules/mod_rewrite.so

LoadModule rewrite_module modules/mod_rewrite.so


\xampp\apache\bin\php.ini


extension=php_pdo.dll

extension=php_pdo_sqlite.dll

extension=php_sqlite.dll

↑#があればそれを削除。


んでは本題。


XAMPP環境(XP想定)にイグナイターをいんすこするじぇ!


(つーてもZip解凍してフォルダ突っ込むだけなんだけどね)○。(´Д`)


コードイグナイターはここ でDLできる。レッツDL!ZIPでくれ!(違


で、インスコしたらCodeIgniter_XXX.zipなるものが来るのでそれを適当に展開。


展開するとCodeIgniter_XXXってのができるわけだけれどもここで注意。


管理人がおとしたバージョン(1.7.1)では、上記で展開されたフォルダの中にさらに同じフォルダ(つまり1.7.1フォルダ内に1.7.1というフォルダが作成され、その中にようやく目的のものが…)が作成されるとこがあるので注意。


メインのフォルダ(つまり上でいうところの1.7.1フォルダ内の1.7.1フォルダ)をapacheのhtdoc内に移動。そして『igniterapp』というフォルダ名に変更。


以上で一応設置は終了。

ブラウザにhttp://localhost/igniterapp/  と入力すればコードイグナイターの内容ページが表示されるはず。


さて、中身を見てみよう。

codeigniterappフォルダ内には、

・system

・user_guide

・index.php

・license.txt


中の人のブログ

以上の4つがあるかと思う。『system』がコードイグナイターの核ともなる代物。『index.php』はフレームワークというシステムの玄関・受付ともいえる代物。あとの2つ『user_guide』『license.txt』は、読みたいときに読みたい人が読めばよかろう(ぇ


とりあえず設置に必要なのは『system』フォルダ、『index.php』の2つなので、残りの2つは削除するなり他に退避させるなりしよう。


次。

では核フォルダの中を見てみよう。

フォルダを開くと


中の人のブログ-ゆっくり

という事態に。うそです(ぉ


中の人のブログ-2

上のように、11個のフォルダとindex.htmlがある。


・application -codeigniterでのWEBアプリ本体部分。

・cache -キャッシュ保存先。

・codeigniter -codeigniterの本体。中の人。いじらないであげてください。

・database -データベース関連。

・fonts -フォントファイル。文字体。

・helpers -コントロール、ビューへの出力を支援する機能のファイル類。

・language -言語。でふぉでは英語のみサポート。

・libraries -ライブラリファイルをまとめておくところ。

・logs -ログ出力を行う場所。

・plugins -各種の機能を追加するためのプラグインプログラムを保管するところ。

・scaffolding -DBアクセス機能を自動提供するscaffoldのため用のファイル置き場。


さて、ここで実際に設置は終わったが、あとひとつやらなくてはならないことがある。

まだあるのか?だって? ゆっくりしていってね!!!(ダマレ


必要なのは、ベースURLというものだ。

これはコードイグナイターが置かれているURLを指定すること。

『system』フォルダ内の『application』フォルダを開き、そこにある『config』フォルダをさらに開く。

そして『config.php』を開いて「$config['base_url'] = "http://example.com/ "」という記述を書き換える。


今回の場合、コードイグナイダーは公開ディレクトリにigniterappというフォルダとして配置されておるので以下のように変更すればおk。


$config['base_url'] = "http://localhost/igniterapp/ ";


ブラウザを開いて「http://localhost/igniterapp/index.php/welcome 」と入力して実行。

『Welcome to CodeIgniter!』と表示されればおk。




さてここでURL構成について。

↑でhttp://localhost/igniterapp/index.php/welcome

と入力したらwelcomeページが出たわけですが、index.php以降の文字列はコントローラーとメソッドになります。

つまるところアクセスがあれば、それはすべてigniterappにあるindex.phpに飛ばされ、そしてindex.phpがリクエストにあるコントローラーとメソッド、及び値を元に動きを振り分けるわけです。

要はGET形式のデータ送信の様なものじゃ?⇒わからない人はGET POST データとかで検索してみよう!
中の人のブログ-フル
↑つまりこんな感じ?(ぁ

そしてすべてのアクセスを受け付けるindex.phpみたいなものを『フルコントローラーと呼ぶそうです。』フルボッコにしてやんよ!


シャキーン(`・ω・´)フルコントローラーは、つまり⇒すべてのアクセスを1つのプログラムが集中管理する もの。

最初にこのフルコントローラーがアクセスされ、ここから必要に応じて個々のコントローラーに処理が渡されていきます。


今回はコードイグナイターですが、その他のCakePHPやZendFrameWork等でも基本はこのフルコントローラー形式であり、わからない場合はそれが隠匿されているだけなのです。コードイグナイターは初期状態では隠匿されてないです。素っ裸。(゚∀゚*)イヤン



さて。アクセスにindex.phpが含まれるのはどうも見栄えが悪いですね。そうでもない?自分は悪い思うのですYO!


であスマートにするための方法を。


『igniterapp』フォルダに、『.htaccess』というファイルを作成して設置しませう。

(´Д`;)右クリック新規作成で名前を変えようとすると「ファイル名がおかしいぞ(゚Д゚#)ゴールァ!!!!!!」とwindowsに妨害されるのでテキストファイルを開いて編集してから保存しましょう。


『.htaccess』の内容は次のとおり。

RewriteEngine on

RewriteCond $1 !^(index\.php|image|css)

RewriteRule ^(.*)$ /igniterapp/index.php/$1 [L]

半角スペースとか打ち間違えただけでアボーンするので要正確に入力。


次にhttpd.confを。

httpd.confの最下部に、次の記述を追加。

<Directory "C:/xampp/htdocs/igniterpp">

Allow from all

</Directory>


上記設定を終えたらhttp://localhost/igniterapp/welcome

と入力してみませう。

welcomeページが表示されれば成功。


index.phpとわざわざ入力しなくても、フルコントローラーにアクセスできるようになりました。(゚∀゚*)アヒャヒャ!!



中の人のブログ-3


とりあえず長くなったので今回はここまで。


次回はコントローラーとビューについてやっていきますぉ。(゚∀゚*)

人気ブログランキングへ

(´ω`)ノどうもはじめまして。


当ページは管理人の備忘録の様なモノデス。


(´ω`;)内容は保証しません(ぁ


というか


※注意※

当ブログはローカル環境での設定になります。もし公開サーバでやる際にはくれぐれもブログの設定のまま公開しないように。もし当ブログを参考にして損害が発生しても、当方は一切の責任を負いません。


とりあえずPHPライブラリであるこーどいぐないたー(CodeIgniter)をいじってみる際の備忘録


ちなみにPHPがある程度わかる人以外理解不能な内容(ぉ)ですのでご注意。


PHP単体でもガシガシ書いてがんがん動くものが軽くできてしまうわけですが、大規模開発(プログラマ・デザイナが入り乱れてうぼぁー)なことになってくると自然とデザイン・プログラムを分割することになるわけですがデザインとロジックを分ける。+なるべく簡潔なコードでシステムを構築する


そこででてくるのがフレームワークという概念。


ここで、ライブラリとフレームワークってどっちもおんなじじゃねぇの?orどこがどう違うんだYOという人向けに軽く両者の違いを。(本人もつい先日までライブラリとフレームワークの違いがわからんかったorz)


ライブラリってのはpearに代表されるように、データベースを間単に扱う機能とかオース認証(ユーザー・パスワード認証)といったものをライブラリをインクルードすることでたった数行で実装できる代物。

構図としては(メイン:プログラム 呼び出す⇒ サブ:ライブラリ(機能A,B,C....etc))


これに対してフレームワークってのは、フレームワークというプログラム(システム)中に、規則に沿ってコードを記述していけば、勝手にシステムが構築できる、という代物。

よくハリウッドの法則と呼ばれるらしいけど、ライブラリと違うのは、機能を呼び出すのではなくて、機能に呼ばれる…よくわからんか。

構図(メイン:プログラム[フレームワーク] 呼び出す⇒ サブ:プログラマが書いたコード(code1.php,code2.php,etc...))


ぶっちゃけていうならライブラリはプログラマ主体で腕にもの言わせてガンガン実装するのに対してフレームワークはフレームワークの要求(形式)にしたがってヘコヘコとコードを書いていく・・・・感じ。言い方が最悪?(゚∀゚)キニスルナ!!



まぁいいように使われるのと引き換えに、誰でも簡単にシステムが実装できるとかコードが見やすいとかそこそこ良い点もある。

ぶっちゃけデザイナーでもフレームワークの記法さえ覚えればイケル口。というかプログラマは必要な(rうわなにをするm,oepwg@[


(´Д`;)とりあえずデザインとロジックをわけでMVCを実践するには避けて通れない道なのでフレームワークをやるわけですよ。


で、今現在(2009)あるのがCakePHP/ZendFramework/Symfony/CodeIgniterといったところ?

ちぃたん~ってライブラリだったかな?Cakeを核にして日本の誰かが独自につくったらしいけど…忘れた(ぁ


とりあえず上記フレームワークからこーどいぐないたーをチョイス。

選定基準?軽い・必要十分。シンプルイズベスト主義者なら迷わずry(*゚∀゚)


ということでコードイグナイターをさわっていこうかと。


きばらずにゆるゆるとやっていくんでヨロシコ。(゚∀゚*)


人気ブログランキングへ