Php 通过CMS在codeIgniter中创建动态控制器

Php 通过CMS在codeIgniter中创建动态控制器,php,mysql,codeigniter,Php,Mysql,Codeigniter,我目前正在为codeIgniter中的一个项目构建CMS,我想知道当用户在数据库中创建新页面时,是否有任何方法可以通过CMS在codeIgniter中动态创建控制器文件。我不需要创建另一个模型,因为数据库中的表和视图都是相同的。基本上,网站中的所有页面(链接、标题、内容等)都来自同一个表。我只想像这样保留uri(www.mywebsite.com/class/function)。也没有路由 我在网上搜索了一下,在我的请求附近发现的唯一一件东西是CRUD“codegen”,但我不能在线使用它,而且

我目前正在为codeIgniter中的一个项目构建CMS,我想知道当用户在数据库中创建新页面时,是否有任何方法可以通过CMS在codeIgniter中动态创建控制器文件。我不需要创建另一个模型,因为数据库中的表和视图都是相同的。基本上,网站中的所有页面(链接、标题、内容等)都来自同一个表。我只想像这样保留uri(www.mywebsite.com/class/function)。也没有路由


我在网上搜索了一下,在我的请求附近发现的唯一一件东西是CRUD“codegen”,但我不能在线使用它,而且有很多东西我根本不需要它。

虽然每次用户向数据库添加新页面时都可以创建一个新的控制器,如果有一个控制器将db id或页面名称作为参数并加载该页面,不是更好吗

因此,如果用户创建了两个名为page1和page2的页面,并且您有一个用于服务所有名为dynamic.php的动态页面的控制器,那么URL将是

www.mysite.com/dynamic/page1
www.mysite.com/dynamic/page2

每次用户创建一个页面时创建一个控制器是一个很大的开销,而且还需要大量代码才能正确实现,例如,当用户从数据库中删除页面时删除控制器。我认为在SO中提供编码解决方案会很麻烦。

为什么没有路由?如果我了解您试图实现的目标,这是一个完美的路由示例。uri显示如我所愿,并且如果我可以执行我正在尝试执行的操作,我就不需要为每个页面创建新的路由。我最终得到了它,现在,一切都应该简单得多<代码>类测试扩展CI_控制器{function fr($url,$sub_url=“”){$em=$this->doctrine->em;if(empty($sub_url)){$query=$em->createQuery(“从模型中选择页面\页面,其中page.url=”,“$url.”;}否则如果(!empty($sub_url)){$query=$em->createQuery(“从模型中选择页面\页面,其中page.url=”).$sub_url.“'”;}$result=$query->getResult();$data['pageContent']=$result[0];$this->load->view('index',$data);}}很高兴你弄明白了:)@Sébastien Morin Barsalou:我还需要网址www.mysite.com/dynamic/page1或page2。我有一个动态控制器。如何编写函数。第1页,页面将被更改。如何为所有page1、page2…调用静态函数。。。。