欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

yii 之小组件

程序员文章站 2022-06-06 19:56:47
...

以表单组件为例

在控制器中(controller)–以下的代码在 SiteController.php中

	书写命名空间    use app\models\EntryForm;
	 //登录 表单 username email
	//创建动作
    public function actionEntry(){
          $model=new EntryForm;
         if($model->load(Yii::$app->request->post()) && $model->validate()){
              return $this->render('entry-confirm',['model'=>$model]);
         }else{
              return $this->render('entry',['model'=>$model]);
         }
    }

在models中 --以下的代码在 EntryForm.php中

<?php
   	    namespace app\models;
	    use Yii;
        use yii\base\Model;

         class EntryForm extends Model{
              public $name;
              public $email;

              public function rules(){
                  return [
                    [['name','email'],'required'],
                    ['email','email']
                 ];
             }
          }

创建视图

entry-confirm 视图简单地显示提交的 name 和 email 数据。视图文件应该保存在 views/site/entry-confirm.php。

<?php
    use yii\helpers\Html;
?>
<p>You have entered the following infomations:</p>
<ul>
    <li><label>Name:</label><?=Html::encode($model->name)?></li>
    <li><label>Email:</label><?=Html::encode($model->email)?></li>
</ul>

entry 视图显示一个 HTML 表单。视图文件应该保存在 views/site/entry.php。

<?php
    use yii\helpers\Html;
?>
<p>You have entered the following infomations:</p>
<ul>
    <li><label>Name:</label><?=Html::encode($model->name)?></li>
    <li><label>Email:</label><?=Html::encode($model->email)?></li>
</ul>