1

我有一个网站,其中包含许多用“纯”PHP 编写的脚本,即没有使用特定的框架来编写文件。此外,所有 URL 都是自定义使用.htaccess和特定的 PHP 脚本。

为了顺利过渡,我想在不中断对旧页面的访问的情况下开始将 CodeIgniter 用于新页面,但是我在 CodeIgniter 上看到的所有文档给人的印象是整个网站(可能有一些例外)需要基于框架。

是否可以在这里和那里使用单个页面的框架,同时保持旧的 URL 和代码完好无损?

4

2 回答 2

2

简短的回答,是的。

例如,您可以从子文件夹中访问 CI 框架,而无需更改现有站点。

IE

www.site.com/my_new_app/controller/method/

my_new_app重命名的application文件夹在哪里。

于 2011-04-24T19:57:00.213 回答
1

我将假设您已经有一个基本的模板系统,并且能够使用您现有的站点呈现整个页面。由于 Codeigniter 实际上只是一个框架,因此没有什么可以阻止您使用 vanilla php、likeinclude或其他库和类。因此,您可以做的一件事是将站点转储到文件夹中的子目录中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 约定,一次一页。

于 2011-04-25T03:25:29.343 回答