今までやったことがないので、ただのアイデアです
他のディレクトリにファイルがほとんどないソリューション
別のデモ ディレクトリを作成し、デモ URL にマップします。
このディレクトリにこのindex.phpを入れます(.htaccessもあるかもしれません)
<?php
$yii=_PRODUCTION_PATH_.'/framework/yii.php';
$config_prod=_PRODUCTION_PATH_.'/protected/config/main.php';
$config_demo=dirname(__FILE__).'/demo_main.php';
require_once($yii);
$config = CMap::mergeArray($config_prod,$config_demo);
Yii::createWebApplication($config)->run();
demo_main.php はクラス (user、db) をオーバーライドして、より良いデモ エクスペリエンスを管理します。
<?php
return array(
'basePath'=>_PRODUCTION_DIR_.DIRECTORY_SEPARATOR.'..',
'components'=>array(
'user' => array(
// here you override the user class with a DEMO only user
'class'=>'DemoUser',
)
),
生産サイトのすべてのファイルが別のディレクトリにあるソリューション
ここでは、ルート ディレクトリの index.php に従います。
<?php
$yii='../framework/yii.php';
$configMain = include dirname(__FILE__).'/protected/config/main.php';
$configProd = include dirname(__FILE__).'/protected/config/production.php';
$configDemo = include dirname(__FILE__) . '/protected/config/demo.php';
require_once($yii);
// for the demo version
// instead of the comment can be an *if* or any solution to manage 2 configs
//$config = CMap::mergeArray($configMain,$configProd);
$config = CMap::mergeArray($configMain,$configDemo);
Yii::createWebApplication($config)->run();
demo.phpは、「demo_main.php」に類似しており、サイトのデモ バージョンのクラスと構成をオーバーライドします。