yii 学习笔记二 、路由 及 yii框架模版使用

一、 路由

   在yii框架中,通过路由获得控制器和方法。

   在获得控制器和方法后,就可以进一步与视图或模型进行交互。


   其格式为: http://URL/index.php?r=控制器/方法

   如果modules中的控制器和方法,则路由中需要制定模块名: http://URL/index.php?r=Module/控制器/方法


   没有指定路由的控制器和方法是,默认调用SiteController中的actionIndex方法


二、模板与yii框架的结合

主要通过controller中的方法渲染view实现。


实现步骤:(以创建用户登录为例)

1. 创建用户控制器

   在controllers目录下,新建用户控制器 UserController.php

   <?php

       class UserController extends Controller {  // 所有的控制器均继承自Controller

             function actionLogin() { // 控制器中的方法都加上action前缀

             }

       }

   ?>

   通过路由访问该方法:http://localhost/test_webapp/index.php?r=user/login


2. 创建视图

   在views目录下,建立与控制器同名的目录。控制器通过renderPartial()方法调用视图下的与控制器中的方法同名的模板文件。


   实现步骤:

   在views目录下,建立user目录,(上面已经创建了一个名为User的控制器)

   将模板文件login.php拷贝到user目录下。


   修改控制器代码为:

   function actionLogin() {

       $this->renderPartial('login');

   }


3. 将模版的css,image等静态资源集成到系统中

   css:    放在 /assets/default/css/中

   image : 放在 /assets/default/img/中

   js:      放在 /assets/js/中


  为了方便调用,将静态资源目录设置为常量。

  在config目录下,新建constant.php

  <?php

       define('SITE_URL', 'http://loacalhost/');


       define('CSS_URL', SITE_URL.'assets/default/css/'); //CSS地址

       define('IMG_URL', SITE_URL.'assets/default/img/'); //图片地址

      define('JS_URL', SITE_URL.'assets/js/'); //JS地址

  ?>


 修改系统入口文件index.php 引入 constant.php

 添加:

    require_once(dirname(__FILE__).'/protected/config/constant.php');


 调用CSS时,使用 <?php echo CSS_URL; ?> style.css

你可能感兴趣的:(yii)