私は4つのフォルダすべてに独自のroute.phpを持っています。だから私は、各フォルダへのパスをuriパスに基づいて要求したいと思います。たとえば、私のウェブサイトのパスがwww.example.com/userの場合、Slimフレームワークはコントローラ/ユーザ/ルートへのパスを必要とします。私はミドルウェアを使用してこれを達成しようとしていますが、私はそれを解決するためにどのように私は "メンバ関数エラーへの呼び出し"を取得します。ここでSlim 3のURIパスに基づいてルートファイルを変更してください
は、以下の私のコードです:
//determine the uri path then add route path based upon uri
$app->add(function (Request $request, Response $response, $next) {
if (strpos($request->getAttribute('route'), "/user") === 0) {
require_once('controllers/users/routes.php');
} elseif (strpos($request->getUri()->getPath(), "/public") === 0) {
require_once('controllers/public/routes.php');
} elseif (strpos($request->getUri()->getPath(), "/brand") === 0) {
require_once('controllers/brands/routes.php');
}elseif (strpos($request->getUri()->getPath(), "/admin") === 0) {
require_once('controllers/admin/routes.php');
}elseif (strpos($request->getUri()->getPath(), "/") === 0) {
require_once('routes.php');
}
$response = $next($request, $response);
return $response;
});
だから、何も前に、フレームワークが必要なパスを追加し、その後のルートを決定します。しかし、何かが正しく機能していない、任意のアイデアですか?
は、なぜあなたはこれを行うだろうか? – jmattheis
経路を分離したままにして、経路ページを索引にロードするだけで、より速く実行できるようになります。正しい方法を見つけられませんか? –
それほど大きな違いはありません。 – jmattheis