カテゴリー
コンピューター

CakePHP2 の View 内のフォルダ名が規約違反でも通ってしまう問題を解決しました!

CakePHP で DB データを表示するシンプルな例!モデルなしで勉強です! | oki2a24 の続きとなります。

わかりました!

前回、View フォルダ内に作るフォルダ名が単数形でないとエラーとなる不思議現象が発生しましたが、原因がわかりました!

まとめ

  • コントローラーファイルの public $name には複数形を指定します。
  • つまり、public $name にはコントローラー名が入り、コントローラー名とは、複数形です。
  • ちなみに、モデル名は単数形、ビューのフォルダ名は複数形です。

前回ソースの修正版

cake/sample/app/Controller/BoardsController.php

<?php

class BoardsController extends AppController {

	public $name = 'Boards';

	public function index() {
		$data = $this->Board->find('all');
		$this->set('data', $data);
	}
}

?>

public $name = ‘Boards‘; と複数形にしました。

cake/sample/app/View/Boards/index.ctp

<h1>送信フォーム・サンプル</h1>
<table>
<?php

for($i = 0; $i < count($data); $i++) {
	echo $this->Html->tableCells($data[$i]['Board'], array(), array(), true);
}

?>
</table>
<br />
<br />
<br />
<pre>
<?php print_r($data); ?>
</pre>

View 内のフォルダ名を Boards と複数形にしています。こちらのソース自体には変更点はありません。

おわりに

今回気づいたことは、後々大きな財産となると思います。こうしたちょっとしたことのはっきりとした認識が、自分自身を助けてくれたこと、何度もありましたから!

「CakePHP2 の View 内のフォルダ名が規約違反でも通ってしまう問題を解決しました!」への3件の返信

コメントを残す