我有一个网站,其中有许多脚本是用"纯" PHP编写的,即没有特定的框架用于编写文件。此外,所有的url都是使用.htaccess
和特定的PHP脚本自定义的。
为了平稳过渡,我想在不中断对旧页面的访问的情况下开始使用CodeIgniter创建新页面,但是我在CodeIgniter上看到的所有文档给人的印象是整个网站(可能有一些例外)需要基于框架。
是否有可能使用单一页面的框架这里和那里,而留下旧的url和代码完好无损?
简短的回答,是的。
您可以从子文件夹访问CI框架,例如,保持现有站点不变。
即www.site.com/my_new_app/controller/method/
其中my_new_app
为重命名的application
文件夹
我将继续假设您已经有了一个基本的模板系统,并且能够用您现有的站点呈现完整的页面。由于Codeigniter实际上只是一个框架,因此没有什么可以阻止您使用普通的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约定。