1.方法名称命名
每个单词首字母大写,并加上 action 前缀。 例子:访问路径 create-comment 相当于方法名 actionCreateComment。
2.render() 被用来渲染一个视图
<?php
namespace app\controllers;
use yii\web\Controller;
class SiteController extends Controller
{
public function actionSay($message = 'Hello')
{
return $this->render('say', ['message' => $message]);
}
}
3.视图输出encode可转义特殊字符,防止xss攻击
<?php
use yii\helpers\Html;
?>
<?= Html::encode($message) ?>
4.访问路径
http://hostname/index.php?r=site/say&message=Hello+World
5.打印执行的sql,找到下面函数,直接断点输出
public function execute()
{
$sql = $this->getSql();
$rawSql = $this->getRawSql();
...
}
6.dropDownList 三个参数 1名称 2option value=>显示值 3.最上面头
<?=
$form->field($model, 'market_id')->dropDownList($market_list,['prompt'=>'无'])
?>
<select id="robot-market_id" class="form-control" name="Robot[market_id]" aria-required="true" aria-invalid="false">
<option value="">无</option>
<option value="16">UVC/ETH</option>
<option value="17">BTC/USDT</option>
<option value="18">ETH/USDT</option>
<option value="19" selected="">BTC/UVC</option>
</select>
7.原生下拉写法
$where['enable']=1;
$symbol = Coins::find()->select(['id','symbol'])->where($where)->asArray()->all();
$symbol_list = array();
foreach ($symbol as $value) {
$symbol_list[$value['id']] = $value['symbol'];
}
return $this->render('index',[
'symbol_list' => $symbol_list,
]);
<select class="form-control tpl-category-parent" name="key_type">
<option value="">请选择</option>
<?php foreach($symbol_list as $k=>$v): ?>
<option value="<?php echo $k; ?>"><?php echo $v; ?></option>
<?php endforeach; ?>
</select>