TOPページはIndexControllerではない Cannot redeclare config()
URLからどのコントローラ、アクションを実行するかの指定は/app/config/routes.phpで行います。
TOPページの指定もここで行いますが、指定をしなかった場合、TOPページではコントローラを判断できず、
/app/controllers/controller.php
の
Controllerクラスを読みに行き、Missing Controllerとなります。
TOPページとは
http://www.example.com/
とした場合です。
コントローラの判断ができていない状態なので、controller.phpを配置すると今度は
Fatal error: Class 'AppController' not found
となります。
TOPページを指定するには、/app/config/routes.phpに次のように書きます。
Router::connect('/', array('controller' => '【コントローラ名】', 'action' => '【アクション名】'));
ここで、コントローラ名をindexとした場合、つまり次のようにした場合はエラーが出ます。
Router::connect('/', array('controller' => 'index', 'action' => '【アクション名】'));
次のようなエラーが出ます。
Fatal error: Cannot redeclare config() (previously declared in …/cake/basics.php:58) in …/cake/basics.php on line 75
config()を重複して定義することができないというエラーです。
TOPページには、index以外のコントローラ名を指定する必要があります。
topやdefaultなど、ほかのページで使用されておらず、TOPページとわかる名称に変更します。
例
TOPページのコントローラをtopとした場合
/app/config/routes.php
Router::connect('/', array('controller' => 'top', 'action' => 'index'));
/app/controllers/top_controller.php
<?php class TopController extends AppController { function index() { } }
関連記事
- 複数カラムのユニーク制約バリデーション
- 標準のValidatorを拡張してカスタマイズする方法
- テンプレート(template)側でログイン情報を取得する方法
- フォームの必須エラーメッセージをHTML5標準にする方法、カスタマイズする方法
- 標準のHelperを拡張してカスタマイズする方法 CakePHP2
- 国際化i18n(多言語化)
- URLをハイフン区切りからアンダーバー区切りやキャメルケースにする方法
- CakePHP5系の入手方法・インストール方法
- CakePHP4系の入手方法・インストール方法
- CakePHP3系の入手方法・インストール方法
- CakePHP2系の入手方法・インストール方法
- CakePHP1系(CakePHP1.3)をPHP7・PHP8以降に対応させる方法
- CakePHP1系(CakePHP1.3)の入手方法・インストール方法
- Composerコマンドでウクライナへのメッセージが表示されたことがあります
- Composerをインストールする方法と使い方
- コーディング規約のチェックを行う・整形する標準ツール(PHP CodeSniffer)の使い方
- Seedの実行順(外部キー制約などを先に実行させる方法) Foreign key violation
- PostgreSQLでERROR: duplicate key value violates unique constraint "hoge_pkey" DETAIL: Key (id)=(10) already exists.と出る場合
- PostgreSQLで自動採番をするシーケンス(sequence)とは【AUTO INCREMENT】
- Apacheで所有権や書き込み権限があるにも関わらずPermissions deniedが出る場合
- CakePHPのバージョンごとのシステム要件
- 1つのフィールドにバリデーションエラーを1つだけ表示させる方法
- PHP Strict Standards: Non-static method と出る場合の対処法
- CakePHPでカラムを比較してSELECTする方法
- [CakePHPのバグ]キャッシュ処理でunlinkエラーが発生する
- 『id』以外のプライマリキーのカラム名を使用する方法
- [CakePHPのバグ]キャッシュ処理でunserializeエラーが発生する
- プライマリキーIDを連番数字ではなく推測しにくい文字列にする方法
- 複数のデータベースを切り替える方法(別データベースを使用する)
- MySQLで文字化けを防ぐ方法
- action名にlistは使えない listを使う方法
- ログイン認証処理をする方法
- CakePHP、Symfony、Zend Frameworkの比較
- CakePHPのDB接続情報設定
- ファイル読み込みPATHを設定
- デバッグレベルを設定
- セキュリティレベルの設定
- キャッシュを有効にする
- CakePHPのエラーテンプレートの一覧
- データベーステーブルを参照しないページを作る
- ディレクトリ構成
- CakePHP
スポンサーリンク