我的网站上有许多用“纯”PHP编写的脚本,即没有使用特定的框架来编写文件。此外,所有URL都是使用.htaccess
和特定PHP脚本自定义的。
为了顺利过渡,我想开始使用CodeIgniter来创建新页面,而不会中断对旧页面的访问,但我在CodeIgniter上看到的所有文档给人的印象是整个网站(可能有一些例外)需要基于框架。
是否可以在这里和那里使用单个页面的框架,同时保留原有的URL和代码?
答案 0 :(得分:2)
简短的回答,是的。
您可以从子文件夹访问CI框架,例如,保持现有网站不变。
即
www.site.com/my_new_app/controller/method/
其中my_new_app
是重命名的application
文件夹。
答案 1 :(得分:1)
我将假设您已经拥有一个基本模板系统,并且能够使用现有网站呈现完整页面。由于Codeigniter实际上只是一个框架,因此没有什么可以阻止你使用vanilla php,如include
或其他库和类。因此,您可以做的一件事是将您的站点转储到views
文件夹中的子目录中,然后创建一个“主”控制器,除了加载完整的html页面之外什么都不做。
class Master extends CI_Controller {
function __construct()
{
parent::__construct();
}
function index()
{
// We're expecting something like "registration/how-to-apply" here
// Whatever your URL is. The .php extension is optional
$args = func_get_args();
$path = 'path_to_my_old_site/'.explode('/', $args);
$this->load->view($path);
}
}
// Then use this in config/routes.php
$route['(:any)'] = 'master/index/$1';
这将通过主控制器路由所有页面。因此,yoursite.com/pages/faq
将加载文件application/views/old_site/pages/faq.php
。您可以根据需要应用不同的路线。
这样,您可以花时间迁移以使用Codeigniter约定,一次一页。