1

私は「純粋な」PHPで書かれた多くのスクリプトを備えたウェブサイトを持っています。つまり、ファイルを書くために特定のフレームワークは使用されていません。さらに、すべてのURLは、カスタム使用.htaccessの特定のPHPスクリプトです。

スムーズな移行のために、古いページへのアクセスを中断することなく、新しいページにCodeIgniterを使い始めたいと思いますが、CodeIgniterで見たすべてのドキュメントは、Webサイト全体(おそらくいくつかの例外を除く)が必要であるという印象を与えますフレームワークに基づいています。

古いURLとコードをそのままにして、あちこちで単一ページのフレームワークを使用することは可能でしょうか?

4

2 に答える 2

2

短い答え、はい。

たとえば、既存のサイトをそのままにして、サブフォルダーからCIフレームワークにアクセスできます。

すなわち

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

my_new_app名前が変更されたapplicationフォルダはどこですか。

于 2011-04-24T19:57:00.213 に答える
1

基本的なテンプレートシステムがすでに用意されており、既存のサイトでページ全体をレンダリングできることを前提としています。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の規則を使用するように移行するのに時間をかけることができます。

于 2011-04-25T03:25:29.343 に答える