事象
FuelPHP でecho 'hello world';
を呼び出すだけのコントローラ(下記)を作成したのですが、ブラウザで開くと404エラーになってしまいました。
PHP
1//404エラーになるケース 2//コントローラのパス: fuel/app/classes/controller/sample.php 3//ブラウザに入力したURL: http://localhost:8888/プロジェクト名/public/sample 4 5<?php 6 7class Controller_Sample extends Controller 8{ 9 public function action_index(){ 10 echo 'hello world'; 11 } 12}
一方で、コントローラ名、ファイル名およびURLの「sample」を「sample1」に変えると問題なくブラウザで表示できました。
PHP
1//問題なく表示できるケース 2//コントローラのパス: fuel/app/classes/controller/sample1.php 3//ブラウザに入力したURL: http://localhost:8888/プロジェクト名/public/sample1 4 5<?php 6 7class Controller_Sample1 extends Controller 8{ 9 public function action_index(){ 10 echo 'hello world'; 11 } 12}
調べたこと
予約語との衝突などが起きているのかと思いましたが、Web検索してもコントローラ名に関する制約条件を見つけられませんでした。
質問
コントローラ名をsampleにするとうまく表示できないのはなぜでしょうか?
事象について追記(2019/9/22)
コントローラ名が「sample」でも問題なく表示できる事象を確認したので追記します。
モジュールを試すために fuel/app/config/config.php を編集していたのですが、下記の箇所をコメントアウトしたところ、「sample」でも正しく表示できました。コントローラ名の制約ではなく、設定の問題かもしれません。
PHP
1//config.phpでコメントアウトした2箇所 2---省略--- 3'module_paths' => array( 4 APPPATH.'modules'.DS, 5 APPPATH.'..'.DS.'globalmods'.D 6), 7---省略--- 8'always_load' => array( 9 'modules' => array( 10 'api' 11 ), 12---省略---
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。