我正在试用 CodeIgniter 2.1.4。我已经有一个控制器用于显示我使用 CodeIgnitor 文档中的教程构建的静态页面。我后来设置我的路线是这样的:
// <http://localhost/> refers to <http://localhost/pages/view/>
$route['default_controller'] = "pages/view";
// <http://localhost/somepage/> refers to <http://localhost/pages/view/somepage/>
$route['(:any)'] = "pages/view/$1";
// .htaccess is already setup to rewrite the url without index.php
现在,我对 PHP 没有太多经验,而且URL 重写和MVC 架构的概念对我来说相当新。
假设有页面称为•Home、•About、•Admin 和•Contact。
对于页面•Home、•About 和•Contact,Pages控制器可以正常工作。
但是对于 •Admin 页面,我想要一个单独的控制器来确定用户是否已登录,以及他是否具有管理员权限等。如果他还没有登录,我应该加载登录视图而不是管理员视图。
Pages控制器有一个相当简单的逻辑。它检查参数中的字符串,附加.php
和附加于视图目录,是否作为文件存在。如果没有show_404()
,如果有,加载视图header-template,然后加载页面,然后加载视图footer- template 。我敢肯定,大多数使用过 CodeIgniter 的人一定都见过类似的静态页面逻辑。
我可以redirect('login')
在我的管理员视图中执行此操作,但这似乎不起作用。如果我为管理员创建一个单独的控制器,我将如何访问它,而根据路由,每个 URL 都被定向到pages/view
控制器(上面代码中的第 4 行)。
正如我已经说过的,我对此很陌生。这可能是我正在犯的一些迟钝的错误。或者我的整个 MVC 结构可能构建不当。我该如何克服这个问题并开始担心身份验证问题?任何人都可以建议吗?