校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > Yii框架模擬組件調用注入示例

Yii框架模擬組件調用注入示例

熱門標簽:天潤融通外呼系統好嗎 江門回撥外呼系統 泊頭在哪里辦理400電話 高德地圖標注店鋪收費嗎 電銷機器人沒有效果怎么樣 欣思維地圖標注 杭州語音電銷機器人 江西電銷機器人收費 高德地圖標注位置怎么標注

本文實例講述了Yii框架模擬組件調用注入。分享給大家供大家參考,具體如下:

yii 中組件只有在被調用的時候才會被實例化,且在當前請求中之后調用該組件只會使用上一次實例化的實例,不會重新生成該實例。

'components'  => array(
  '組件調用名'  =>  '組件調用命名空間',
  '組件調用名'  => array(
      'class' => '組件調用命名空間'
  );
  '組件調用名'  => function(){
    return new '組件調用命名空間';
  }
)

一個類似的小組件,可以實現上述功能。方便我們存儲服務功能組件。

?php
namespace app\components\Services;
/**
 * 自定義服務層調用組件
 * 支持 的實例模式只有yii模式的string 和 array 模式
 * 例子
 * services => array(
 *   'customService' => array(
*        'class' => 'app\components\Custom\Custom',
*        'name' => '我是勇哥'
*      ),
 * )
 */
class Services
{
  private $dataObj = array();
  private $classes = array();
  public function __set($name,$value)
  {
    $this->classes[$name] = $value;
  }
  public function __get($name)
  {
    if(!isset($this->dataObj[$name]) || $this->dataObj[$name] == null)
    {
      $classInfo = $this->classes[$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(
  'services' => array(
    'class'  =>  'app\components\Services\Services',
    //自定義服務 custom1
    'custom1Service' => array(
      'class' => 'app\services\Custom1\Custom1',
      //需要注入的屬性值
      'name'  => '我是勇哥',
      'age'  => 22
    ),
    //自定義服務 custom2
    'custom2Service' => array(
      'class' => 'app\services\Custom2\Custom2',
      //需要注入的屬性值
      'name'  => '我是勇哥',
      'age'  => 22
    ),
  )
)

控制層調用

?php
namespace app\controllers\home;
use Yii;
use yii\web\Controller;
class IndexController extends Controller
{
  public function actionIndex()
  {
    echo Yii::$app->services->custom1Service->name;
  }
}

更多關于Yii相關內容感興趣的讀者可查看本站專題:《Yii框架入門及常用技巧總結》、《php優秀開發框架總結》、《smarty模板入門基礎教程》、《php面向對象程序設計入門教程》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》

希望本文所述對大家基于Yii框架的PHP程序設計有所幫助。

您可能感興趣的文章:
  • Yii核心組件AssetManager原理分析
  • YII使用url組件美化管理的方法
  • 詳解PHP的Yii框架中組件行為的屬性注入和方法注入
  • 簡要剖析PHP的Yii框架的組件化機制的基本知識
  • Yii框架組件和事件行為管理詳解
  • Yii擴展組件編寫方法實例分析
  • yii2行為的方法如何注入到組件類中詳解
  • Yii2中組件的注冊與創建方法
  • Yii框架通過請求組件處理get,post請求的方法分析
  • Yii框架響應組件用法實例分析
  • Yii框架核心組件類實例詳解

標簽:江門 內江 駐馬店 平涼 雙鴨山 石嘴山 深圳 大同

巨人網絡通訊聲明:本文標題《Yii框架模擬組件調用注入示例》,本文關鍵詞  Yii,框架,模擬,組件,調用,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Yii框架模擬組件調用注入示例》相關的同類信息!
  • 本頁收集關于Yii框架模擬組件調用注入示例的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 绥阳县| 景德镇市| 沈阳市| 萨嘎县| 武强县| 山阴县| 汝南县| 蓬溪县| 疏附县| 侯马市| 绥化市| 万安县| 凤庆县| 阿城市| 甘德县| 新泰市| 奉节县| 衡山县| 通州区| 宁德市| 保康县| 安达市| 上杭县| 淳安县| 文昌市| 崇信县| 尖扎县| 共和县| 来凤县| 台东市| 阿克苏市| 札达县| 珠海市| 塔城市| 隆德县| 临武县| 志丹县| 洞头县| 张家界市| 黎城县| 张家口市|