CodeigniterでURIルーティングをやろうとしておりますが、うまく動作せず詰まりました。
私のプロジェクトのディレクトリ構成は下記となっております。
application config └ routes.php controller └ Users.php public_html(ドキュメントルート) └ index.php
これのUser.phpのメソッドget_listを呼び出したくroutes.phpに下記を追加しました。
php
1$route['users/list'] = 'users/list';
そして、(私のサーバーのドメイン)/users/list/にアクセスしましたが、404エラーが出ます。
また、routes.phpの$route['default_controller']を下記の用に変更し私のサーバーのドメインにアクセスすると普通に上記のメソッドの結果が表示されます。
php
1$route['default_controller'] = 'users/list';
このことから、routes.phpは機能していて$routeに追加するキーと値に問題があると思っておりますが、原因がよくわかりません。どなかご教示をお願いします。
ちなみにUser.phpのUserクラスは下記です。
php
1class Users extends REST_Controller { 2 3 function __construct() 4 { 5 parent::__construct(); 6 } 7 8 public function list_get() 9 { 10 $users = [ 11 ['id' => 1, 'name' => 'John', 'email' => 'john@example.com', 'fact' => 'Loves sax'], 12 ['id' => 2, 'name' => 'Jim', 'email' => 'jim@example.com', 'fact' => 'Loves guitar'], 13 ['id' => 3, 'name' => 'Miles', 'email' => 'miles@example.com', 'fact' => 'Loves trumpet'] 14 ]; 15 16 if (!empty($users)) { 17 $this->set_response($users, REST_Controller::HTTP_OK); 18 return; 19 } 20 $this->set_response([ 21 'status' => false, 22 'message' => 'No users were found', 23 ], REST_Controller::HTTP_NOT_FOUND); 24 } 25}