私は、クラスのユーザーでメソッドを使用するためのルートを定義しようとしています。 index.phpの中Slim 3ルーティングが機能しない
私はこれを持っている:
dependencies.phpで$app->post('/user', '\Users:getUsers');
私が持っている:
$container['\Users'] = function ($container) {
return new Users($container->get('ci'));
};
そして、私のクラスで私が持っている:
class Users {
protected $ci;
//Constructor
public function __construct(ContainerInterface $ci) {
$this->ci = $ci;
}
public function getUsers(){
$ci = $this->ci;
$settings = require __DIR__ . '/../../src/settings.php';
$user = $app = new \Slim\App($settings);
$userList =$this->db->table('tbl_test')->get();
$output = array("data" => $userList);
return json_encode($output);
}
}
し、エラーを私は持っているクラス 'ユーザー'が見つかりません
理由は何ですか?
「ユーザー」はどこで定義されていますか? 'index.php'と' dependencies.php'でどのように利用できるようにしますか? – alexw
私は 'require'で試しましたが、私は2度宣言していたのでエラーが出ました。だから私は '名前空間 'で試していますが、それでも動作しません。 @geggletoのように –
は、確かにComposerを使ってオートローディングを調べています。あなたの人生を楽にします。ボーナスポイントについては、クラスと名前空間の[PSR-4仕様](http://www.php-fig.org/psr/psr-4/)に従ってください。 [This](http://phpenthusiast.com/blog/how-to-autoload-with-composer)は実際にはかなり良いチュートリアルです。 – alexw