入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

YII控制器,模型,视图的创建与使用

创建时间:2016-07-14 投稿人: 浏览次数:1522

一、开始创建我们的控制器和方法


在controllers文件夹中创建一个***.php后缀的文件 要把我们新建的控制器名字存到命名空间和把我们要继承的类从命名空间中use出来
<?php
  namespace appcontrollers;
  use yiiwebController;
  use Yii;
//和其他框架一样的创建类
class ZyController extends Controller{
    //这里我们创建方法是需要在首字母大写,然后在方法前加上action
    public function actionZy13(){
        //如果是添加方法则来判断是输出添加页面,还是执行添加操作
        if (!Yii::$app->request->isPost) {
            echo "展示";
        }else{       <pre name="code" class="python">            echo "处理";
} }

然后我们可以用来调用模型和视图层来处理各种问题了

一、始创建模型

首先在config文件夹的db.php文件中配置我们的数据库信息。 在models文件夹中创建一个***.php后缀的文件(一般来说模型名自要和我们所操作的数据库表名一致) 老规矩我们要把我们新建的模型类名字存到命名空间和把我们要继承的类从命名空间中use出来
<?php
    namespace appmodels;
    use yiidbActiveRecord;

class B extends ActiveRecord{
    
    }

这个 Country 类继承自 yiidbActiveRecord。你不用在里面写任何代码。 只需要像现在这样,Yii 就能根据类名去猜测对应的数据表名。 注意:如果类名和数据表名不能直接对应,可以覆写 yiidbActiveRecord::tableName() 方法去显式指定相关表名(所以我们还是老实的于表名保持一致吧)。

一、始创建视图层

说明一下,Yii里面的视图层默认去视图层文件夹中去找当前控制器的文件夹,然后从此文件夹中找对应的要展示的视图文件,所有我们要如果需要调用视图层则需要创建一个与控制器同名的文件夹然后将需要调用的视图文件存储在这里。

//在控制器中视图层的调用和传值
public function actionIndex(){
    $data["value"]="shuxina";
    $data["z"]=array(0,1,2);;
    //这里需要使用return,赋值的话直接在后面写第二个参数
    return $this->renderPartial("index",$data);
    //还可以这样更简单些
    //return $this->render("index",$data);
}

然后看视图层的操作

//在视图层中展示,YII中使用的是<?=***;?>格式
<h1><?=$value;?></h1>
<h1><?=$z[0];?></h1>

//视图层的数据安全处理方法
public function actionIndex(){
    $data["value"]="shuxina<script>alert(123)</script>";
    //如果一些不法人员向这样给我们传递类似的恶意代码就会影响我的程序正常运行
    return $this->renderPartial("index",$data);
}
//这里Yii给了我没两种处理方法
//直接将此代码转换成普通字符串打印,和直接排除此代码
//当然这样都是Yii封装的类我们需要调用出来(从此类的命名空间中把他们拿出来)
<?php
    use yiihelpersHtml;
    use yiihelpersHtmlPurifier;
?>
//编译成普通字符串打印
<h1><?=Html::encode($value);?></h1>
//直接排除此类字符串
<h1><?=HtmlPurifier::process($value);?></h1>



声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。