最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Yii框架模擬組件調(diào)用注入示例

 更新時(shí)間:2019年11月11日 11:13:38   作者:傾聽(tīng)歲月  
這篇文章主要介紹了Yii框架模擬組件調(diào)用注入,結(jié)合實(shí)例形式分析了Yii框架存儲(chǔ)服務(wù)功能組件與調(diào)用相關(guān)操作技巧,需要的朋友可以參考下

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

yii 中組件只有在被調(diào)用的時(shí)候才會(huì)被實(shí)例化,且在當(dāng)前請(qǐng)求中之后調(diào)用該組件只會(huì)使用上一次實(shí)例化的實(shí)例,不會(huì)重新生成該實(shí)例。

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

一個(gè)類似的小組件,可以實(shí)現(xiàn)上述功能。方便我們存儲(chǔ)服務(wù)功能組件。

<?php
namespace app\components\Services;
/**
 * 自定義服務(wù)層調(diào)用組件
 * 支持 的實(shí)例模式只有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',
    //自定義服務(wù) custom1
    'custom1Service' => array(
      'class' => 'app\services\Custom1\Custom1',
      //需要注入的屬性值
      'name'  => '我是勇哥',
      'age'  => 22
    ),
    //自定義服務(wù) custom2
    'custom2Service' => array(
      'class' => 'app\services\Custom2\Custom2',
      //需要注入的屬性值
      'name'  => '我是勇哥',
      'age'  => 22
    ),
  )
)

控制層調(diào)用

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

更多關(guān)于Yii相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Yii框架入門(mén)及常用技巧總結(jié)》、《php優(yōu)秀開(kāi)發(fā)框架總結(jié)》、《smarty模板入門(mén)基礎(chǔ)教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門(mén)教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總

希望本文所述對(duì)大家基于Yii框架的PHP程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • thinkphp 抓取網(wǎng)站的內(nèi)容并且保存到本地的實(shí)例詳解

    thinkphp 抓取網(wǎng)站的內(nèi)容并且保存到本地的實(shí)例詳解

    這篇文章主要介紹了thinkphp 抓取網(wǎng)站的內(nèi)容并且保存到本地的實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-08-08
  • Vagrant(WSL)+PHPStorm+Xdebu 斷點(diǎn)調(diào)試環(huán)境搭建

    Vagrant(WSL)+PHPStorm+Xdebu 斷點(diǎn)調(diào)試環(huán)境搭建

    這篇文章主要介紹了Vagrant(WSL)+PHPStorm+Xdebu 斷點(diǎn)調(diào)試環(huán)境搭建,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • 將php數(shù)組輸出html表格的方法

    將php數(shù)組輸出html表格的方法

    這篇文章主要介紹了將php數(shù)組輸出html表格的方法,需要的朋友可以參考下
    2014-02-02
  • 6個(gè)超實(shí)用的PHP代碼片段

    6個(gè)超實(shí)用的PHP代碼片段

    這篇文章主要介紹了10個(gè)超實(shí)用的PHP代碼樣例:黑名單過(guò)濾、隨機(jī)顏色生成器、從網(wǎng)上下載文件、強(qiáng)制下載文件、截取圖片、檢查網(wǎng)站是否宕機(jī),需要的朋友可以參考下
    2015-08-08
  • QQ登錄 PHP OAuth示例代碼

    QQ登錄 PHP OAuth示例代碼

    申請(qǐng)是立即通過(guò)的 目前騰訊僅開(kāi)放獲取昵稱和頭像的API,以后會(huì)陸續(xù)推出其他API 頭像是QQ空間的,官方文檔都是寫(xiě)QQ空間登錄
    2011-07-07
  • thinkPHP事務(wù)操作簡(jiǎn)單案例分析

    thinkPHP事務(wù)操作簡(jiǎn)單案例分析

    這篇文章主要介紹了thinkPHP事務(wù)操作,結(jié)合簡(jiǎn)單案例形式分析了thinkPHP事務(wù)操作的基本原理與使用方法,需要的朋友可以參考下
    2019-10-10
  • linux系統(tǒng)下php安裝mbstring擴(kuò)展的二種方法

    linux系統(tǒng)下php安裝mbstring擴(kuò)展的二種方法

    這篇文章主要介紹了linux系統(tǒng)環(huán)境下,php安裝mbstring擴(kuò)展的二種方法,大家參考使用吧
    2014-01-01
  • PHP導(dǎo)出數(shù)據(jù)超時(shí)的優(yōu)化建議

    PHP導(dǎo)出數(shù)據(jù)超時(shí)的優(yōu)化建議

    當(dāng)數(shù)據(jù)訪問(wèn)次數(shù)過(guò)多時(shí),建議使用redis緩存一些固定數(shù)據(jù),減少mysql查詢次數(shù)。今天小編給大家分享PHP導(dǎo)出數(shù)據(jù)超時(shí)的優(yōu)化建議,感興趣的朋友一起看看吧
    2021-07-07
  • YII2 實(shí)現(xiàn)多語(yǔ)言配置的方法分享

    YII2 實(shí)現(xiàn)多語(yǔ)言配置的方法分享

    這篇文章主要介紹了YII2實(shí)現(xiàn)多語(yǔ)言配置的方法,文中YII2的版本是2.0.7,可能會(huì)與其他教程有不同,有需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-01-01
  • PHP編程 SSO詳細(xì)介紹及簡(jiǎn)單實(shí)例

    PHP編程 SSO詳細(xì)介紹及簡(jiǎn)單實(shí)例

    這篇文章主要介紹了PHP編程 SSO詳細(xì)介紹及簡(jiǎn)單實(shí)例的相關(guān)資料,這里介紹了三種模式跨子域單點(diǎn)登陸、完全跨單點(diǎn)域登陸、站群共享身份認(rèn)證,需要的朋友可以參考下
    2017-01-01

最新評(píng)論

内乡县| 类乌齐县| 阿尔山市| 达日县| 华池县| 和林格尔县| 永登县| 会理县| 揭阳市| 澄江县| 玉林市| 云安县| 四子王旗| 沧州市| 沁源县| 盘锦市| 渭源县| 奉新县| 新竹市| 铅山县| 密云县| 钦州市| 赤城县| 石首市| 巩留县| 浦城县| 昭苏县| 龙井市| 牟定县| 松桃| 全南县| 堆龙德庆县| 蛟河市| 民和| 乌兰察布市| 崇左市| 邵武市| 广水市| 苍南县| 新安县| 碌曲县|