ここ最近はフレームワークを使ってないPHPのサイトの改修をしたりEC-CUBEをカスタマイズしたり現場に出向して使ったことのないSymfonyをいじったりしていたので、CakePHPを使うのは久しぶりです。
で、別に久しぶりだからとかそんなのは一切関係ないんですが、今度新しく作るサイトで、ファイルを管理したり登録する画面があるんですね。だからコントローラー名をこんな感じにしたんですが……
ファイル名:files_controller.php
クラス名:FilesController
これで作ったページにアクセスすると、以下のようなエラーが出ました。
Warning (2): dirname() expects parameter 1 to be string, array given in [C:xampphtdocsgallerycakelibsfile.php, line 100]
Warning (2): is_dir() expects parameter 1 to be string, array given in [C:xampphtdocsgallerycakelibsfile.php, line 101]
Warning (2): basename() expects parameter 1 to be string, array given in [C:xampphtdocsgallerycakelibsfile.php, line 102]
まあ何だかよく分かんないんですけど、コントローラー名がFilesだったのがどうもいけなかったみたいで、ファイル名やクラス名を別なのにしたら出なくなりました。
正直焦ったね。久しぶり過ぎて……っていっても1ヶ月半くらいなもんですが、全くCakePHPに触ってなかったから、どっか最初に設定しなきゃいけないところを設定し忘れてるんだろうかって。もうCakePHPの使い方忘れちまったのかよって。一緒にハポンに帰ろうっていう約束はどこn
たぶん、fileとかobjectとかvalidateとか、コアの方にあるファイル名と同じようなのをコントローラー名にするとダメってことなんじゃないでしょうか。確認はしてないですけど。
LIGはWebサイト制作を支援しています。ご興味のある方は事業ぺージをぜひご覧ください。