首页 > 代码库 > YII2.0之窗体小部件
YII2.0之窗体小部件
在工作中用到YII2框架,之前对Yii的Widgets这个不太理解,也就没有用上。最近在查看YII2的英文指南的时候,终于弄明白了是怎么一回事。
举个简单的例子,如果在做后台开发的时候,大部分页面都需要用到一个可选择的列表(<select>),那么我们可以把它做成窗体小部件。
具体看下面代码:
<?php /** * Created by PhpStorm. * User: Administrator * Date: 2017/2/14 * Time: 18:01 */ namespace common\widgets; use common\service\GameService; use yii\base\Widget; use yii\helpers\ArrayHelper; class GameWidget extends Widget { private $list; private $html; public function init() { parent::init(); $this->list = GameService::gameList([‘id‘, ‘gamename‘]); $array = ArrayHelper::toArray($this->list); $this->html = ‘<select data-am-selected="{btnSize: "sm"}">‘; foreach ($array as $key => $val) { $this->html .=‘<option value="http://www.mamicode.com/‘.$val[‘id‘].‘">‘.$val[‘gamename‘].‘</option>‘; } $this->html.=‘</select>‘; } public function run() { return $this->html; } }
新建一个类,并且继承自yii\base\Widget。覆盖init()和run()方法。init里面写自己的逻辑,run里面返回需要在页面上显示的内容。
下面在看php模板页面上的调用方法
<?php use common\widgets\GameWidget; ?> <?php echo GameWidget::widget()?>
引入自己编写的Widget,然后调用widget()方法。
结果图
这里以后在其它页面如果还需要这个部件,只接调用就可以了。不需要写多的代码。
本文出自 “PHP学习” 博客,请务必保留此出处http://xtceetg.blog.51cto.com/5086648/1898339
YII2.0之窗体小部件
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。