>백엔드 개발 >PHP 튜토리얼 >Yii에서 나만의 위젯 인스턴스 만들기

Yii에서 나만의 위젯 인스턴스 만들기

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB원래의
2016-07-29 09:07:40844검색

이 기사의 예에서는 Yii에서 자신만의 위젯 구현을 만드는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 자세한 내용은 다음과 같습니다.

다음은 Yii에서 위젯 사용을 설명하기 위한 예시로 임의의 광고 이미지입니다

1. 통화 위젯

코드 복사 코드는 다음과 같습니다.

widget('WidgetName') ?>


또는

<&#63;php $widget=$this->beginWidget('path.to.WidgetClass'); ?>
...可能会由小物件获取的内容主体...
<&#63;php $this->endWidget(); ?>

위젯 클래스에 매개변수를 전달할 수도 있습니다

<&#63;php $userId = 1; &#63;>
<&#63;php $this->widget('WidgetName',array('userId'=>$userId)); ?>

매개변수 userId가 자동으로 매핑됩니다. Widget 클래스와 동일한 이름의 속성에 추가되므로 Widget을 정의할 때 이 속성을 선언하는 것을 잊지 마세요.

2. 위젯 만들기

CWidget을 상속하려면 사용자 정의 Widget 클래스가 run

<&#63;php
class BannerMagic extends CWidget {
  public function run(){
  }
}

메서드를 재정의합니다.

class MyWidget extends CWidget {
  public function init() {
    // 此方法会被 CController::beginWidget() 调用
  }
   public function run() {
    // 此方法会被 CController::endWidget() 调用
  }
}

다음은 protectedcomComponentsBannerMagicWidget.php에 저장된 BannerMagicWidget

<&#63;php class BannerMagicWidget extends CWidget {
  public function run() {
   $random = rand(1,3);
   if ($random == 1) {
    $advert = "advert1.jpg";
   } else if ($random == 2) {
    $advert = "advert2.jpg";
   } else {
    $advert = "advert3.jpg";
   } 
   $this->render('bannermagic',array(
    "advert"=>$advert,
   ));
  }
}

구현입니다

해당 뷰의 가능한 내용 파일은 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.

Yii에서 나만의 위젯 인스턴스 만들기


protectedcomComponentsviewsbannermagic.php에 저장

3. 위젯 호출

코드 복사 코드는 다음과 같습니다.

widget('BannerMagicWidget') ?>

이 글이 PHP 프로그래밍을 위한 Yii 프레임워크를 기반으로 하는 모든 분들께 도움이 되기를 바랍니다.

위 내용은 관련 내용을 포함하여 Yii에서 자신만의 Widget 인스턴스를 만드는 방법을 소개한 내용입니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.