濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > Yii框架學(xué)習(xí)筆記之應(yīng)用組件操作示例

Yii框架學(xué)習(xí)筆記之應(yīng)用組件操作示例

熱門(mén)標(biāo)簽:欣思維地圖標(biāo)注 泊頭在哪里辦理400電話(huà) 高德地圖標(biāo)注店鋪收費(fèi)嗎 電銷(xiāo)機(jī)器人沒(méi)有效果怎么樣 江西電銷(xiāo)機(jī)器人收費(fèi) 天潤(rùn)融通外呼系統(tǒng)好嗎 杭州語(yǔ)音電銷(xiāo)機(jī)器人 高德地圖標(biāo)注位置怎么標(biāo)注 江門(mén)回?fù)芡夂粝到y(tǒng)

本文實(shí)例講述了Yii框架學(xué)習(xí)筆記之應(yīng)用組件操作。分享給大家供大家參考,具體如下:

所有的組件都應(yīng)聲明在config/web.php

//組件聲明在該數(shù)組下
'components'=>array(
  //自定義組件1 - 函數(shù)形式
  'customComponent1' => function(){
    $custom = new app\components\CustomComponent\realization\CustomComponent1();
    $custom->setName('譚勇');
    $custom->setAge(22);
    return $custom;
  },
  //自定義組件2 - 數(shù)組形式
  'customComponent2' => array(
      'class' => 'app\components\CustomComponent\relazation\CustomComponent2'
      'name'  => '譚勇',
      'age'  => 22
  ),
  //自定義組件 - 字符串形式
  'customComponent3' => 'app\components\CustomComponent\realization\CustomComponent3'
),

如果只是在components 中聲明了該組件,那么只有在首次調(diào)用的時(shí)候才會(huì)實(shí)例化這個(gè)組件,之后調(diào)用都會(huì)復(fù)用之前的實(shí)例。 如果你在bootstrap 數(shù)組中聲明了這個(gè)組件,那么該組件會(huì)隨著應(yīng)用主體的創(chuàng)建而實(shí)例(也就是默認(rèn)會(huì)被實(shí)例,而不是首次調(diào)用才會(huì)實(shí)例這個(gè)組件)。

//默認(rèn)加載customComponent1 和 customComponent2 組件
'bootstrap' => array(
  'customComponent1','customComponent2'
),

在應(yīng)用目錄下創(chuàng)建 components 目錄

組件 CutomComponent

接口類(lèi) app\components\CustomComponent\CustomComponent;

?php
  namespace app\components\CustomComponent;
  interface CustomComponent
  {
    public function setName($name);
    public function setAge($age);
    public function getName();
    public function getAge();
  }
?>

接口實(shí)現(xiàn)類(lèi) app\components\CustomComponent\realization\CustomComponent1

?php
  namespace app\components\CustomComponent\realization;
  use app\components\CustomComponent\CustomComponent;
  class CustomComponent1 implments CustomComponent
  {
    public $name='勇哥';
    public $age = '我的年齡';
    public function setName($name)
    {
      $this->name = $name;
    }
    public function getName()
    {
      return $this->name;
    }
    public function setAge($age)
    {
      $this->age = $age;
    }
    public function getAge()
    {
      return $this->age;
    }
  }
?>

customComponent2,customComponent3 我們都讓他們與customComponent1 具有相同的代碼。 那么我們?cè)趺慈フ{(diào)用這些組件呢?

namespace app\controllers\home;
use Yii;
use yii\web\Controller;
class IndexController extends Controller
{
  public function actionIndex()
  {
    //組件customComponent1
    echo Yii::$app->customComponent1->getName();
    //組件customComponent2
    echo Yii::$app->customComponent2->getName();
    //組件customComponent3
    echo Yii::$app->customComponent3->getName();
  }
}

然后回過(guò)頭看數(shù)組形式、函數(shù)形式、字符串形式的組件

//函數(shù)形式  -  這個(gè)很容易理解 實(shí)例化后設(shè)置屬性值
function(){ 
    $custom = new app\components\CustomComponent\realization\CustomComponent1();
    $custom->setName('譚勇');
    $custom->setAge(22);
    return $custom;
  },
//數(shù)組形式 - 它會(huì)實(shí)例化這個(gè)組件 之后設(shè)置屬性值 注意這里設(shè)置屬性值的方法 和 函數(shù)不一樣,它是 $custom->name = '譚勇' , $custom->age = 22
array(
      'class' => 'app\components\CustomComponent\relazation\CustomComponent2'
      'name'  => '譚勇',
      'age'  => 22
  ),
//字符串形式 只知道會(huì)實(shí)例化這個(gè)組件,怎么注入屬性值,這個(gè)不清楚支不支持

組件有什么作用?

如果你理解Java spring mvc 那么就不難理解組件的作用 可以作為服務(wù)層,數(shù)據(jù)訪問(wèn)層等等

更多關(guān)于Yii相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《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ì)有所幫助。

您可能感興趣的文章:
  • 從零開(kāi)始學(xué)YII2框架(六)高級(jí)應(yīng)用程序模板
  • yii2高級(jí)應(yīng)用之自定義組件實(shí)現(xiàn)全局使用圖片上傳功能的方法
  • YII Framework框架使用YIIC快速創(chuàng)建YII應(yīng)用之migrate用法實(shí)例詳解
  • YII Framework框架教程之使用YIIC快速創(chuàng)建YII應(yīng)用詳解
  • Yii2框架redis基本應(yīng)用示例
  • Yii框架常見(jiàn)緩存應(yīng)用實(shí)例小結(jié)
  • Yii Framework框架中事件和行為的區(qū)別及應(yīng)用實(shí)例分析
  • 再談Yii Framework框架中的事件event原理與應(yīng)用
  • Yii框架應(yīng)用組件用法實(shí)例分析
  • Yii 框架應(yīng)用(Applications)操作實(shí)例詳解

標(biāo)簽:深圳 內(nèi)江 石嘴山 雙鴨山 大同 駐馬店 江門(mén)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Yii框架學(xué)習(xí)筆記之應(yīng)用組件操作示例》,本文關(guān)鍵詞  Yii,框架,學(xué)習(xí),筆記,之,應(yīng)用,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Yii框架學(xué)習(xí)筆記之應(yīng)用組件操作示例》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于Yii框架學(xué)習(xí)筆記之應(yīng)用組件操作示例的相關(guān)信息資訊供網(wǎng)民參考!
  • 企业400电话

    智能AI客服机器人
    15000

    在线订购

    合计11份范本:公司章程+合伙协议+出资协议+合作协议+股权转让协议+增资扩股协议+股权激励+股东会决议+董事会决议

    推薦文章
    东兰县| 永济市| 太康县| 浪卡子县| 都匀市| 灵川县| 兰坪| 房产| 南川市| 新龙县| 同江市| 会同县| 肥乡县| 柳州市| 怀宁县| 贡觉县| 溧阳市| 达孜县| 关岭| 乌兰察布市| 美姑县| 安西县| 张家口市| 彭泽县| 贵溪市| 日照市| 阜宁县| 黑龙江省| 衡水市| 陈巴尔虎旗| 五台县| 南木林县| 冷水江市| 泌阳县| 吉林省| 安泽县| 宜阳县| 江达县| 且末县| 宁海县| 那坡县|