为了账号安全,请及时绑定邮箱和手机立即绑定

Yii框架不得不说的故事—基础篇(1)

withy PHP开发工程师
难度中级
时长 2小时39分
学习人数
综合评分9.67
176人评价 查看评价
9.9 内容实用
9.7 简洁易懂
9.4 逻辑清晰
  • 批量查询
    查看全部
  • // 释放关联查询结果<br> unset($customer->orders) // 关联查询的多次查询 $customers = Customers::find()->all(); foreach($customers as $customer) { //循环几次,下面的关联查询之行几次,有性能问题 $orders = $customer->orders; } // 优化方案 // 添加with方法 $customers = Customers::find()->with('orders')->all(); foreach($customers as $customer) { $orders = $customer->orders; }
    查看全部
  • return $this->render() 输出父模板的内容,将渲染的内容,嵌入父模板。| return $this->renderPartial 则不输出父模板的内容。只对本次渲染的局部内容,进行输出。
    查看全部
  • 1.在一个视图(index.php)中显示另一个试图(about.php):在视图index.php文件中使用<?=php echo $this->render('about');?>显示about视图; 2.注意:这时候Controller调用的是renderpartical() 3.当需要给(about.php)页面传入参数时,用render的第二个参数:$this->render('about',array('key'=>'value')),这样就可以把第二个参数数组传递给about.php这个视图中 4.(about.php)页面如何使用(index.php)页面传递过来的数据? (1)通过数组下边(key)直接可以访问 (2)语句:<?=$key;?>
    查看全部
  • www.yiichina.com/download
    查看全部
  • 安装,然后查看环境是否符合(PHP5.4+) http://127.0.0.60/basic/requirements.php 入口文件 http://127.0.0.60/basic/web/index.php yii\web\Request::cookieValidationKey must be configured with a secret key. \basic\config\web.php 'cookieValidationKey' => '',//改成如下 'cookieValidationKey' => 'ferf3efdsc', 同时要开启PHP扩展 open ssl
    查看全部
  • 在视图中显示的数据一般会预先存储在数据库当中,Yii框架中为了方便到数据库中取(增删改查)这些数据,提供了一种数据模型的东西。Yii要想操控test这张表,必须知道test这张表在哪个数据库,数据库的地址在哪里,Yii框架专门提供了一个配置文件(basic/config/db.php)给我们。 advanced版的在common/main-local.php
    查看全部
  • (1)查询结果转化成数组:数组比对象占用内存少->asArray() (2)批量查询 foreach (Test::find()->batch(1) as $test) { P(count($test)); }
    查看全部
  • 1.在一个视图(index.php)中显示另一个试图(about.php):在视图index.php文件中使用<?=php echo $this->render('about');?>显示about视图; 2.注意:这时候Controller调用的是renderpartical() 3.当需要给(about.php)页面传入参数时,用render的第二个参数:$this->render('about',array('key'=>'value')),这样就可以把第二个参数数组传递给about.php这个视图中 4.(about.php)页面如何使用(index.php)页面传递过来的数据? (1)通过数组下边(key)直接可以访问 (2)语句:<?=$key;?>
    查看全部
  • 1.Controller和View关联 (1)控制器中: 调用一个renderpartial()方法,这个方法是基类Controller中的方法 这里使用$this这个关键字调用。 (2)renderpartial(“parm”),参数表示要显示那个视图文件,当然yii还规定了要显示视图,必须在前面加一个return语句: 完整语句:return $this->renderpartial(“parm”); (3)别的都叫方法,yii中就得叫动作。
    查看全部
  • HelloController.php public $layout = 'common';//通过$layout属性去告诉render方法去显示common布局文件 //视图之布局文件 //把布局文件common.php和视图文件home.php、about.php用render()方法进行拼合,才 能达到之前视图的显示效果。 //rensder()方法在显示视图文件的时候会做2件事:第1件事是会把视图里的内容放到$content这个变量中;第2件事是render()方法会把布局文件给显示出来。 return $this->render('about'); views/layouts/common.php <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <!-- 把视图文件中重复的这段html代码放在布局文件中,以精简视图文件 --> <!-- 因为视图的内容放在$content中,把$content打印出来就可以完成拼接 --> <h1>hello common</h1> <?=$content;?> </body> </html> views/hello/home.php、about.php hello home、hello about
    查看全部
  • 那么当我们的浏览器发送过来一个请求之后呢,在Index操作里对请求进行处理之后呢,服务器会把请求处理的结果打包成一个消息,再把消息扔回浏览器。那么这个消息就称之为响应。在操作当中,通过响应组件也可以对响应进行一些设置和处理的。 $res = \Yii::$app->response; //$res->statusCode = '404';//为响应设置一个状态码,不设置的服务器返回的默认为200。(404:Not Found;200:OK) //pragma头部跟浏览器缓存有关,no-cache表示接收到返回数消息时,不要把消息缓存在浏览器里面//$res->headers->add('pragma','no-cache'); //通过set方式,可以改掉头部的内容;max-age=5告诉浏览器如果收到消息缓存个5秒钟 //$res->headers->set('pragma','max-age=5'); //通过remove方式删掉pragma头部 //$res->headers->remove('pragma'); //http头跳转功能,需要在头部里加上一个location的字段,告诉浏览器收到消息后跳转到一个地址 //$res->headers->add('location','http://www.baidu.com'); //跳转功能常用,Yii框架在Controller这个父类当中提供了专门的函数redirect() //$this->redirect('http://www.baidu.com',302);//在跳转的时候,还可以顺便指定返回消息的状态码是多少。(302:表示用户请求的东西临时放在百度这个地址里) //通过http头可以进行文件下载。告诉浏览器收到数据的时候可以以附件的形式去保存数据,保存成文件。 //$res->headers->add('content-disposition','attachment;filename="a.jpg"'); //因为下载功能也常用,所以响应当中也专门提供了一个包装的方法sendFile $res->sendFile('./rebots.txt');//在入口脚本所在的文件夹去寻找要下载的文件 $res->statusCode = '404';//为响应消息设置状态码
    查看全部
  • 路由里的r=hello参数不能像类里一样用大写Hello,否则找不到控制器。
    查看全部
  • 关联查询: hasMany:一对多,hasOne:一对一 $customer->orders; $customer当没有orders属性时,$customer自动调用_get()方法,拼接调用getOrders()方法,并自动在后面加上all()方法或者one()方法,至于何时自动拼接all或者one,取决于关联查询是用的hasMany还是hasOne,如果是hasMany则拼接all,否则反之。 //关联查询 //根据顾客查询她/他的订单的信息 // $customer = Customer::find()->where(['name'=>'zhangsan'])->one(); // $order = $customer->hasMany('app\models\Order',['customer_id'=>'id'])->asArray()->all(); // $orders = $customer->getOrders(); // $orders = $customer->orders; // print_r($orders); //根据订单查询顾客的信息 $order = Order::find()->where(['id'=>1])->one(); $customer = $order->customer; //以属性的方式获取数据 print_r($customer); 注:若使用以属性的方式获取数据,则在模型里面要定义一个方法,该方法要以get+属性的命名方式。
    查看全部
  • $request = \YII::$app->request; yii2源码,应该是\Yii::$app->request; 虽然全写成大写的YII,在mac的safari浏览器也可以正常运行。但还是按yii2源码的格式来吧。
    查看全部

举报

0/150
提交
取消
课程须知
学习本门课程之前,建议先了解一下知识,会更有助于理解和掌握本门课程 1、掌握PHP基本的语言语法 2、对MVC开发方式有一定的了解
老师告诉你能学到什么?
1、php的新特征 2、一款前沿的框架的使用方式 3、新颖独到的程序设计

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!