将普通PHP web应用程序集成到现有的YII web应用程序中


Integrating plain PHP web application with/into existing YII web application

我们在 'plain' PHP中创建了许多网页(也涉及大量javascript和ajax代码)需要"集成"到YII框架中构建的网站(由其他人维护)。

当前单独使用时,这些普通PHP页面运行良好(无bug)。

请建议/指导我们关于将我们的网页整合到网站(在YII中开发)的最简单/最聪明的程序,这需要尽可能少的YII开发知识,因为我们都不是很有经验。

谢谢,Prateek a .

为您的集成创建一个控制器,称之为集成控制器

Class IntegrationController extends CController { 
  public actionPage1(){
     $this->render('page1');
  }
}

为每个页面创建一个操作,并将页面移动到相应的视图/集成文件夹中,如page1.php、page2.php等。

可以用<app_root>index.php?r=Integration/page1访问page1,用<app_root>index.php?r=Integration/page2访问page2,以此类推。如果你想要不同的路由,请相应地创建更多的控制器和动作。

理想情况下,您应该将业务逻辑从视图文件(如page1.php)移到控制器和模型中。但这将使您快速集成,即使它不是最好的MVC实践。

除此之外,您还必须相应地在代码中重新路由所有ajax请求。例如,您的旧请求当页面名为"myoldpage.php",

$.get({
   url:"myoldpage.php"
 ....

你可以使用Yii的createUrl类并在url属性中创建新的url,像这样

 $.get({
   url: <?php echo Yii::app()->createUrl('Integration/newPage'); ?>

注意:此控制器结构适用于yi1。