読者です 読者をやめる 読者になる 読者になる

Motomichi Works Blog

その日学習したことについて書いている日記です。誰かの役に立ったらそれはそれで嬉しいです。

vagrantその19-3 cakephp入門をやってみる(Controllerその2) redirectとsetAction

参考にさせて頂いたページ

コントローラーを使おう!(4/5):初心者のためのCakePHP2.0 プログラミング入門

リダイレクトするメソッド

$this->redirect("./other/");

として、URL自体をリダイレクトするか

$this->setAction("other");

として、URLはindexのまま、内部的に別のアクションにフォワードする。

SampleController.php

SampleController.phpの記述内容は

<?php
App::uses('AppController', 'Controller');
class SampleController extends AppController {
    public function index() {
        $this -> autoRender = false;
        $this->redirect("./other/");
    }
    public function other(){
        $this -> autoRender = false;
        echo "<html><head></head><body>";
        echo "<h1>サンプルページ</h1>";
        echo "<p>これはもう1つのページです。</p>";
        echo "</body></html>";
    }
}

または

<?php
App::uses('AppController', 'Controller');
class SampleController extends AppController {
    public function index() {
        $this -> autoRender = false;
        $this->setAction("other");
    }
    public function other(){
        $this -> autoRender = false;
        echo "<html><head></head><body>";
        echo "<h1>サンプルページ</h1>";
        echo "<p>これはもう1つのページです。</p>";
        echo "</body></html>";
    }
}

みたいな感じになると思う。

サンプルを確認するURL

引き続きSampleController.phpの中で、SampleControllerクラスを記述したものをサンプルとして使用しているので、以下のURLでページが確認できます。

http://192.168.33.10/cakephp/sample/index