【发布时间】:2016-11-22 02:10:51
【问题描述】:
好的,所以我有 4 个文件夹,它们都有自己的 route.php。所以我想根据uri路径要求每个文件夹的路径。例如,如果我的网站路径是 www.example.com/user,那么 Slim 框架将需要控制器/用户/路由的路径。我正在尝试使用中间件来实现这一点,但是当我测试它时,我得到一个“调用成员函数错误”,那么我该如何解决这个问题。
下面是我的代码:
//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;
});
因此,在框架确定路由之前,然后添加所需的路径。但是有些东西运行不正常,有什么想法吗?
【问题讨论】:
-
你为什么要这样做?
-
保持路线分开,只在索引中加载路线页面,这样它就可以运行得更快..或者我看的不对?
-
那不会有太大区别。
标签: php html slim slim-lang slim-3