基本的なテンプレートシステムがすでに用意されており、既存のサイトでページ全体をレンダリングできることを前提としています。Codeigniterは実際には単なるフレームワークであるため、バニラphp include
、または追加のライブラリやクラスの使用を妨げるものは何もありません。したがって、実行できることの1つは、サイトを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
。必要に応じて、さまざまなルートを適用できます。
このように、一度に1ページずつ、Codeigniterの規則を使用するように移行するのに時間をかけることができます。