Php CodeIgniter Routes:我是否需要为每个页面创建条目?
在我的CodeIgniter安装中,我的路由文件当前为:Php CodeIgniter Routes:我是否需要为每个页面创建条目?,php,codeigniter,codeigniter-routing,Php,Codeigniter,Codeigniter Routing,在我的CodeIgniter安装中,我的路由文件当前为: <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); //routes $route['about'] = 'page/view/about'; $route['(:any)'] = 'page/view/$1'; $route['default_controller'] = "pag
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
//routes
$route['about'] = 'page/view/about';
$route['(:any)'] = 'page/view/$1';
$route['default_controller'] = "page/view";
避免为每个页面手动设置路由的一种方法是创建一个页面控制器,并将所有uri路由到此控制器
Routes.php:
// Default controller
$route['default_controller'] = "page/index";
// Page controller catch all
$route['(:any)'] = 'page/view/$1';
routes.php文件的顺序很重要,这些应该是文件中的最后两行。如果您有其他控制器(即新闻/博客/产品/任何内容),则它们的路由应位于这两条路由之上
Page.php
class Page extends CI_Controller {
public function __construct()
{
parent::__construct();
}
public function index()
{
// This will be where your load your top page (homepage)
}
public function view($uri)
{
// This will be where you load all other content pages (about/info/contact/etc)
echo $uri;
}
}
显然,这是非常基本的,但它让您了解了如何实现页面的自动路由。一旦知道uri,就可以使用它从csv/数据库/文本文件中提取有关该页面的信息,然后加载该uri的相应视图。仔细阅读,尤其是“示例”部分。也就是说,CodeIgniter是我见过的所有php框架中最薄弱的路由系统之一。这不是离题,但我缺少的另一件事是“细枝”模板引擎的模板继承。你推荐一个替代框架吗?有一个用于..的库。。嗯。。杂交育种CodeIgniter和Twig:,但由于我没有使用这两种方法,我没有进一步的见解。好的,谢谢。不过,在我深入研究之前,如果你推荐任何比这更好的框架,请把它们扔出去DIf的“答案”可以放在评论中,那么它就不值得发布了。至于MVC,我建议您尝试使用各种材料。事实上,第一个与MCV相关的链接是“GUI架构”,但是你需要理解上面的内容才能有希望理解它。谢谢!这就是我要找的。