fuelPHP1.6で何かページを作ってみる。
前回まででなんとかEclipseでfuelPHPを使えるようになりました。
ですがここまでやってようやく準備が出来たところ。物作りはここからですね。
なのでまずは簡単なものでもいいのでページを作ってみましょう。
fuelPHPで編集すべき部分
ここからはHTMLとかも織りまぜていきます。
まずはフォルダの確認。fuelPHPを導入すると結構な量のフォルダとファイルがインストールされます。
ぱっと見ただけではどこを編集すればいいやら・・・ということになりますね。
まずは編集する場所を確認しておきましょう。
主に編集するフォルダは fuel->app->classes>controller と fuel->app->classes->model と fuel->app->views の3ヶ所です。
これらの3つの頭文字を合わせてMVCなんて言います。自分はあまり理解してませんが・・・
要するにページを表示するためにどのような手順で表示するのか、ということになります。
- 外部の誰かさんがページにアクセスする。
- contorollerがアクセスしたアドレスを元に処理を決める
- contorollerからmodelに処理を要求する
- contorollerからviewsに表示したいページのHTMLソースを要求。
- 外部の誰かさんのPC画面にページを表示する
大まかにいうと多分こんな感じです。
表示したいページ(<html>~</html>)を書くのが views 。
長くなりそうなプログラム(<html>~</html>外の<?php ~~ ?>)を書くのが model 。
単に表示までの流れを書くのが contoroller 。
なのでページを表示するには最低でもviewsとcontorollerの編集が必要になります。
素でHTMLやPHPを書いていた身からするとファイル数が増えてめんどーい、と思うのですが慣れてくるとだんだん使いやすく・・・というか見やすくなるらしいです。
とりあえず表示してみる
とりあえずページを表示してみましょう。
まずはcontorollerから編集します。
contorollerフォルダの中にtest.phpというファイルを新規作成します。
中身の編集なのですが・・・最初から書いていこうとするとちょっと面倒です。
なのでfuelPHPをインストールしたときに最初から入っているwelcome.phpの中身を応用する形にします。
contorollerフォルダのwelcome.phpを開き、中の文章を全部コピーしてtest.phpに張り付けます。
次にもともとWelcomeと書いてあった部分をTestに、小文字のみのwelcomeをtestに書き換えます。
コメント文が多いので量が多く見えますが実際には
<?php
class Controller_Test extends Controller
{
public function action_index()
{
return Response::forge(View::forge('test/index'));
}
public function action_hello()
{
return Response::forge(ViewModel::forge('test/hello'));
}
public function action_404()
{
return Response::forge(ViewModel::forge('test/404'), 404);
}
}
これだけの文章です。
中身の解説をします・・・が下2つのfunctionについては自分もまだ使ってないので省きます。
indexを表示させるだけなら action_index があればいいのでコメントアウトしてても問題ないです。
public function action_index() というのは contorollerのtest から index を 実行(action)するみたいな意味です。多分。
HTMLで<form>タグを使う時にも action の設定ってしたりしますね。あれと関係あります。その辺はまた別の記事で・・・
そして function の中の return Response::forge(View::forge("test/index")); で実際のページを返しています。
言い換えるとアクセスしてきた人にページを見せるということになります。
この処理でどこのファイルを見ているのか?というとそれは fuel->app->views->test->index.php になります。
このままviewsの編集をしてみましょう。
まずは viewsフォルダ の中に testフォルダ を作成します。
次に testフォルダ の中に index.php ファイルを新規作成します。
phpファイルではありますがその中身自体は基本HTMLの内容になります。
PHPの要素は model で作った変数を表示するときやタグ記述を関数を使って表示するときに echo するくらいなものです。
viewsという名の通り、表示のみを担当する場所なので複雑なPHP処理とかは書きません。
この辺を model 任せるということですね。
さて、 index.php の中身ですがとりあえず最低限の簡単なものにしておきます。
<html>
<head>
<title>テストページ</title>
<meta charset="UTF-8">
</head>
<body>
<p>文字</p>
</body>
</html>
これで準備完了。
http://サーバのIPアドレス/test/index/ で 文字 とだけ書かれたページが出ると思います。
今回はここまで、次は複数のページを遷移出きるような内容にしたいと思います。