Php CodeIgniter Routes:我是否需要为每个页面创建条目?

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

在我的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'] = "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架构”,但是你需要理解上面的内容才能有希望理解它。谢谢!这就是我要找的。