PHPのフレームワークCakePHPの基盤を使って「Hello World!」を表示させてみます。
CakePHPもZend Frameworkと同様にMVCを採用しており、mod_rewriteを利用してindex.phpをフロントコントローラとしています。詳細は同blogのZend Framework関連の記事を参照してください。
Zend Framework | cms helog – CMS構築を目的にPHPをベースとしたWordPress、CakePHPやPEARなどオープンソースを中心に解説しています
まず「/test/hello」にアクセスするため、「test」コントローラにアクションメソッド「hello」を用意します。
ファイル「/app/controllers/test_controller.php」を作成して、以下の内容を記述します。ファイル名はコントローラ名の後に「_controller.php」を足すのがルールです。
class TestController extends AppController { public $name = "Test"; public $uses = null; public $autoRender = true; function index(){ } function hello(){ $this->set("content", "Hello World!"); } }
ルールとして、クラス名はコントローラ名から「TestController」とします。変数nameにはコントローラ名を設定します。変数usesはモデルを指定しますが、今回は用いないのでnullを代入します。変数autoRenderはビュワーを利用することを明示的に指定しています。
autoRenderをtrueとした場合、特に指定しない限り、一定のルールに従いテンプレートを拾いに行きます。この場合、アクションindexは「/app/views/test/index.ctp」、helloは「/app/views/test/hello.ctp」を見に行きます。
ビュワーファイルの拡張子は「.ctp」になります。
さて、「/app/views/test/hello.ctp」の中身は以下のとおりです。cotentにセットされた「Hello World!」を表示するだけです。
<?php echo $content; ?>
ブラウザで「/test/hello」にアクセスし、以下のように表示されてば成功です。
「Hello World!」と表示されていますね。ヘッダやフッタがきれいにレイアウトされているのは、デフォルトのレイアウトによるもので、こちらも別で調整可能です。
コメントする