やったこと

webサービスを作るときに考えたことを垂れ流します

【CakePHP3】コントローラーからテンプレートに変数を渡せないとき!

CakePHP3でコントローラーからテンプレートへ「$this->set()」で変数を渡そうとしたのですが、なぜか失敗してしまいました・・。

原因は「$this->render('xxxx')」でした。

変数をセットする前にレンダーを指定すると、その後変数がセット不能になってしまうみたいですね・・。

(ちなみにrender('xxxx')とは、画面テンプレートにxxxx.tcpのファイルを使用しろ!という命令のことです)

つまり「render」を指定するときは、下記のように「set」のあとにしなくてはいけないということです。

class TestpageController extends AppController
{
    public function initialize()
    {
      $str1 = "テスト文章";
      $this->set('str1', $str1);
      $this->render('testpage');
    }
}

以上です。