FuelPHPの導入

CodeIgniterのライセンス変更に伴い、今日本ではFuelPHPがかなりホットですね。乗り遅れないためにも?、少しFuelPHPを勉強してみたいと思います。今回もDreamweaverで設定します。

1) FuelPHP日本語サイトへ行き、最新のFuelPHPバーション1.1をダウンロードします。

2) 解凍したフォルダ『fuelphp-v1.1』を『fuelphp』にリネームしてローカルの適当な箇所にコピーします。私の場合は、『C:\fuelphp』として保存しました。

3) 『C:\xampp\htdocs』フォルダに新しく、fuelphp名でフォルダを作成します。

4) Dreamweaverを起動したら、『サイト→新規サイト』とクリックし、サイト設定でサイト名をfuelPHP(任意)、ローカルサイトフォルダーを『C:\fuelphp\』と設定したら、左メニューのサーバーをクリックします。

5) 『+』(サーバーの新規追加)アイコンをクリックし、サーバー名を『local_fuel』(任意)、使用する接続を『ローカル/ネットワーク』、サーバーフォルダを『C:\xampp\htdocs\fuelphp』、Web URLを『http://localhost/fuelphp』と入力して保存ボタンをクリックします。

6) テストにもチェックを入れたら、保存ボタンをクリックします。

7) ルートフォルダには、『docs』『fuel』『public』があります。fuelフォルダがプログラム本体が入るフォルダ、publicフォルダが実際に公開するフォルダだと思います。『docs』(ドキュメントフォルダ)はなくても大丈夫ですので、削除します。

8) ルートフォルダを選択して、アップロードボタンをクリックします。

9) ブラウザで確認してみます。『http://localhost/fuelphp/public』と入力します。『Welcome!』が表示されたらOKです。

7) 現状で、『http://localhost/fuelphp』とブラウザに入力するとフォルダ構成が丸見えです(fuelフォルダは見えませんが)。

8) 『http://localhost/fuelphp』でWelcomページが表示されるように設定を変更してみたいと思います。ルートフォルダに.htaccessファイルを作成し、下記のように記述します。

<IfModule mod_rewrite.c>
 RewriteEngine on
RewriteBase /fuelphp/public
RewriteRule ^(/)?$ index.php/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>

9) これで、『http://localhost/fulephp』と入力してもWelcomeページが表示されるようになりました。

10) 次にこれをレンタルサーバーにインストールしてみたいと思います。Dreamweaverでサイト→サイトの管理をクリックします。先ほど作成した『local_fuel』を選択して、編集をクリックします。左メニューのサーバーをクリックしたら『local_fuel』のリモートのチェックを外し、『+』(新規作成)アイコンをクリックします。

10) サーバー名をfuel.trial.jp(任意)と入力、使用する接続をFTP、FTPアドレス、ユーザー名、パスワードは使用しているサーバー情報を入力します。『テスト』をクリックして、『接続されました』と表示されたらOKです。WebURL(使用しているレンタルサーバーのURL)を入力して保存をクリックします。

11) Dreamweaverの初期画面に戻ったら、右の方にある四角いアイコン(展開してローカルおよびリモートサイトを表示)をクリックします。

12) 左側にリモートサーバーと表示されているのを確認します。もしテストサーバーと表示されていたら、リモートサーバーに切り替えます。そして、リモートホストに接続ボタンをクリックします。接続されたら、リモートサーバー(レンタルサーバー)の情報が表示されますので、上矢印アイコン(ファイルをリモートサーバーにPUTする)をクリックすれば、レンタルサーバーにローカルのデータがアップロードできます。

13) とその前に、ローカルのテストサーバーとフォルダ構成を同じにしたい場合は、リモートサーバー内を右クリックして新しくfulephp名でフォルダを作成します。

14) 再度サイトの管理を修正します。サイト→サイトの管理→fuelPHPを選択→編集→左メニューのサーバーをクリック→fuel.trial.jp(FTP接続)をダブルクリックして詳細設定を開き、ルートディレクトリにfuelphp/と入力します。

15) どちらの設定方法でもいいのですが、とりあえず今回は、後の方(ローカルと設定内容を同じにする方法)で設定します。設定が完了したら、レンタルサーバーにアップロードします。

16) ブラウザで確認してみます。『http://fuel.trial.jp/fuelphp』と入力します。Welcome!が表示されればOKです。

17) それでは、次に『Hello,World!』を表示してみましょう。これは既にデフォルトで作成されていますので、『fuel.trial.jp/fuelphp/hello』と入力します。『Hello,World!』が表示されました。

18) 次に『fuel.trial.jp/fuelphp/hello/WinRoad徒然草』と入力してみます。『Hello,WinRoad徒然草!』と表示されました。

19) これはどうなっているのでしょうか。ちょっとコードを覗いてみます。『fuel/app/classes/controller』フォルダ内のwelcome.phpファイルを開きます。33行目から36行目にaction_helloがあります。fuelphpでは、コントローラからビューへデータを渡すのではなく、ViewModelというクラスを経由してデータを渡すようになっているのでしょうか。マニュアルを見ながら追々調べていこうと思います。

public function action_hello()
 {
 return Response::forge(ViewModel::forge('welcome/hello'));
 }

20) 『fuel/app/classes/view/welcome』フォルダのhello.phpファイルを開いてみます。17行目から20行目にviewメソッドがあります。これで、viewにアドレスの入力値(パラメータ)が渡されるようになっています。パラメータが何も渡されないときは、初期値のWorldが表示されるようになっているのですね。

public function view()
 {
 $this->name = $this->request()->param('name', 'World');
 }

21) とりあえず、デフォルトの『Hello,World!』が表示されるのはわかったのですが、やはり自分自身で『Hello,World!』のコードぐらい書きたいところです。

22) それでは実際にやってみましょう。 『fuel/app/classes/controller』フォルダに、sample1.phpファイルを作成し、下記のように記述します。

<?php
class Controller_Sample1 extends Controller
{
 public function action_index()
 {
 return Response::forge(View::forge('sample1/index'));
 }
}

23) 『fuel/app/views』フォルダ内に新しく『sample1』フォルダを作成し、その中にindex.phpファイルを作成します。下記のようにコードを記述します。

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Sample1</title>
</head>
<body>
<h1>Hello,World!</h1>
<p>これはsample1のビューファイルです</p>
</body>
</html>

24) ブラウザで確認してみます。『Hello,World!』が表示されました。まあ、単にビューファイルを表示しただけですけれども、これでも大事な第一歩です。

本日は以上です。

このエントリーを含むはてなブックマーク Buzzurlにブックマーク livedoorクリップ Yahoo!ブックマークに登録

トラックバック&コメント

この投稿のトラックバックURL:

コメントをどうぞ

このページの先頭へ