이 기사의 예에서는 Yii에서 자신만의 위젯 구현을 만드는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 자세한 내용은 다음과 같습니다.
다음은 Yii에서 위젯 사용을 설명하기 위한 예시로 임의의 광고 이미지입니다
1. 통화 위젯
코드 복사 코드는 다음과 같습니다.
widget('WidgetName') ?>
<?php $widget=$this->beginWidget('path.to.WidgetClass'); ?> ...可能会由小物件获取的内容主体... <?php $this->endWidget(); ?>
위젯 클래스에 매개변수를 전달할 수도 있습니다
<?php $userId = 1; ?> <?php $this->widget('WidgetName',array('userId'=>$userId)); ?>
매개변수 userId가 자동으로 매핑됩니다. Widget 클래스와 동일한 이름의 속성에 추가되므로 Widget을 정의할 때 이 속성을 선언하는 것을 잊지 마세요.
2. 위젯 만들기
CWidget을 상속하려면 사용자 정의 Widget 클래스가 run
<?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
<?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, )); } }
구현입니다
해당 뷰의 가능한 내용 파일은 다음과 같습니다.
코드 복사 코드는 다음과 같습니다.
3. 위젯 호출
코드 복사 코드는 다음과 같습니다.
widget('BannerMagicWidget') ?>
이 글이 PHP 프로그래밍을 위한 Yii 프레임워크를 기반으로 하는 모든 분들께 도움이 되기를 바랍니다.
위 내용은 관련 내용을 포함하여 Yii에서 자신만의 Widget 인스턴스를 만드는 방법을 소개한 내용입니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.