首页 > 作文

Yii框架模拟组件调用注入示例

更新时间:2023-04-08 05:50:47 阅读: 评论:0

本文实例讲述了yii框架模拟组件调用注入。分享给大家供大家参考,具体如下:

yii 中组件只有在被调用的时候才会被实例化,且在当前请求中之后调用该组件只会使用上一次实例化的实例,不会重新生成该实例。

'components'  => array(  '组件调用名'  =>  '组件调用命名空间',  '组件调用名'  => array(      'class' => '组件调用命名空间'  );  '组件调用名'  => function(){    return new '组件调用命名空间';  })

一个类似的小组件,可以实现上述功能。方便我们存储服务功能组件。

<?phpnamespace app\components\rvices;/** * 自定义服务层调用组件 * 支持 的实例模式只有yii模式的string 和 array 模式 * 例子 * rvices => array( *   'customrvice' => array(*        'class' => 'app\components\custom\custom',*        'name' => '我是勇哥'*  qq音乐榜    ), * ) */class rvices{  private $dataobj = array();  private $class = array();  public function __t($name,$value)  {    $this->class[$name] = $value;  }  public function __get($name)  {    if(!ist($this->dataobj[$name]) || $this->dataobj[$name] == null)    {      $classinfo = $this->class[$name];      正太分布$this->dataobj[$name] = is_array($classinfo) ?中国担当 (new $classinfo['class']) : (new $classinfo);      if(is_array($classinfo))        foreach($classinfo as $a=>$b)          if($a != 'class')            $this->dataobj[$name]->$a = $b;    }    return $this->dataobj[$name];  }}

web.php

'components'=>array(  'rvices' => array(    'class'  =>护理学校招生;  'app\components\rvices\rvices',    //自定义服务 custom1    'custom1rvice' => array(      'class' => 'app\rvices\custom1\custom1',      //需要注入的属性值      'name'  => '我是勇哥',      'age'  => 22    ),    //自定义服务 custom2    'custom2rvice' => array(      'class' => 'app\rvices\custom2\custom2',      //需要注入的属性值      'name'  => '我是勇哥',      'age'  => 22    ),  ))

控制层调用

<?phpnamespace app\controllers\home;u yii;u yii\web\controller;class indexcontroller extends controller{  public function actionindex()  {    echo yii::$app->rvices->custom1rvice-&三国杀荀彧台词gt;name;  }}

本文发布于:2023-04-08 05:50:45,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/feef3227126194eee2f6d9805be451f1.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:Yii框架模拟组件调用注入示例.doc

本文 PDF 下载地址:Yii框架模拟组件调用注入示例.pdf

标签:组件   实例   我是   自定义
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图