的URL处理的确可以使用的,但后来我就干脆写一个自定义URL规则类,而不是使用大量的路由作为你的配置将是一团糟。
如果你想一些替代建议:
首先,拆分出来的应用程序的创建和执行
require_once($yii);
Yii::createWebApplication($config);
// If you want to run the app:
Yii::app()->run();
这样,你是在完全控制应用程序是否实际运行与否。
至于DB。如果你正在使用PDO,你很幸运。我会给Yii一个常规方式的db组件,然后修改general.php以使用Yii中的PDO实例(Yii :: app() - > db-> pdoInstance)。它会一直加载后,应该工作。如果你不使用PDO,只需使用2个连接,除非你有很多访问者,否则它并不是那么糟糕。
关于会话不应该有那么多的初始化,所以除非你有一个自定义的处理程序,否则将它移动到Yii。无论如何功能是一样的,所以不应该有太多问题。
再就是做事情的2种方式,因为我看到它:
1)general.php先行。
您必须在传统文件中创建模块列表,并确定当前请求的模块是否已迁移。基本上把仍然在general.php中的模块名称放在一个数组中,看看url是否需要其中的一个,并包含general.php(并且不要执行Yii :: app() - > run())。其余的都是通过Yii。
2)Yii先走了。
有yii做它的魔法,但拦截404 http异常。这很容易通过自定义错误处理函数完成(http://www.yiiframework.com/doc/guide/1.1/en/topics.error)。如果再次访问错误函数:确定它是否为有效的传统模块并包含general.php。
这两种方式都很麻烦,但至少像这样,你有机会迁移一个模块,同时保留其余的文件。
如果你有一个遗留的代码库,在框架上敲击不会让它变得更好。地狱..它只会增加另一层粗碎。相反,你应该慢慢地重构它。 –