前提・実現したいこと
掌田津耶乃さん著書の「Cakephp 超入門」を使用しています。
ビューテンプレートを使用して画面の表示をさせたいのですがエラーが発生します。
発生している問題・エラーメッセージ
Call to undefined method Cake\View\ViewBuilder::autoLayout()
該当のソースコード
HelloController.phpのソースコードです。 <?php // このクラスをAppフォルダの中のControllerフォルダの中に配置する。 namespace App\Controller; // このプログラムで使用するクラスの定義 use App\Controller\AppController; // コントローラーのプログラムはクラスとして作成される。 // コントローラーのクラスは必ずAppControllerを継承して作られる。 class HelloController extends AppController{ // アクション(コントローラーに用意されるメソッド) // アプリケーションにアクセスしたときに具体的に実行される処理 public function index(){ $this->viewBuilder()->autoLayout(false); //ここがエラー部分とされています。 $this->set('title','Hello!'); $this->set('message','This is message!'); } }
index.phpのソースコードです。 <!DOCTYPE html> <html> <hrad> <title><?=$title ?></title> <style> h1 {font-size: 48pt; margin: 0px 0px 10px 0px; padding: 0px 20px;color: white; background: linear-gradient(to right, #aaa, #fff);} p {font-size:14pt; color:#666;} </style> </hrad> <body> <header class="row"> <h1><?=$title ?></h1> </header> <div class="row"> <p><?=$message ?></p> </div> </body> </html>
試したこと
調べていくとcakephpのバージョンが違うかもしれないということを知りましたが、いまいちよくわかりません。
補足情報(FW/ツールのバージョンなど)
素人ですのでわかりやすく教えていただけますと幸いです。
まず、書籍が扱っているフレームワークのバージョンと自身が導入したフレームワークのバージョンを調べてください。
(調べ方は探せば分かると思いますし、「よくわかりません」しか書いてないので、なにを調べてなにをみてわからないのか伝わりません)
返事が遅くなり申し訳ありませんでした。
ご回答ありがとうございます。
「よくわかりません」と申し上げたのはエラーの原因が本当にバージョンの違いから発生しているものなのか定かではないという意味でした。言葉足らずだったことをお詫びいたします。
引き続き今後ともよろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー