yii2 ActiveForm表单输入字段

‘yii\widgets\ActiveForm’ class is used to create a form and ‘yii\helpers\Html’ class is used to display the different type of HTML input fields like buttons, textbox, select box etc.ActiveForm::begin() - creates a form instance and  beginning of the form. ActiveForm::begin() and ActiveForm::end() - All of the content placed between this.Use the namespace For ActiveForm<?php use yii\helpers\Html; use yii\widgets\ActiveForm; ?>‘ActiveForm’ namespace is very important to create the a active form and ‘Html’ namespace is very useful to display the differen...

yii2 cookies操作

设置 Cookies$cookies = Yii::$app->response->cookies; // add a new cookie to the response to be sent $cookies->add(new \yii\web\Cookie([     'name' => 'username',     'value' => 'yiiuser', ]));获取 Cookies$cookies = Yii::$app->request->cookies; // get the cookie value  $username = $cookies->getValue('username'); //return default value if the cookie is not available $username = $cookies->getValue('username',&nb...

yii2 url管理

默认URL在yii2.0中默认的控制器为site,默认动作为index. 访问方式是site/index. 如果想配置自己的默认URL,可以在web.php中配置 ‘defaultRoute’ 参数:........ $config = [     'defaultRoute' => '/post/index',     'components' => [         'urlManager' => [             .....          'rules' => array(          .....          ),...

yii2生成pdf

通过composer安装mPDF要将mPDF包包含到yii2.0应用程序文件夹中,请将以下代码添加到“composer.json”文件中,然后运行命令“composer update”。 "require": {    "php": ">=5.4.0",    "yiisoft/yii2": "*",    "yiisoft/yii2-bootstrap": "*",    "yiisoft/yii2-swiftmailer": "*",    "mpdf/mpdf":"*" },在命令提示符下执行:composer update或者可以使用以下代码通过命令行添加mPDF包。 我们不需要在composer.json中添加代码。php composer.phar require mpdf/mpdf "dev-master"可以查看 ‘vendor/composer/autoload_classmap.php’ 该文件,所有代码被自动添加使用方法如下:........

yii2模型属性的验证规则

数据类型验证...... public function rules(){     return [         [['boolean_var'],'boolean'],         [['number_min'],'number'],         [['integer_var'],'integer'],         [['double_var'],'double'],         [['string_var'],'string'],     ]; } ......必填字段验证...... public function rules(){     return [ &n...

yii2数据库写入操作

save() 或 insert()$model = new User; $model->name = 'yii1'; $model->email = 'yii@framework.com'; $model->save();  // 相当于 $model->insert();insert()$connection->createCommand()     ->insert('tbl_user', [     'name' => 'yii',     'status' => 1,])     ->execute();batchInsert()一次添加多行数据,或多次调用batchInsert方法$connection->createCommand() ->batchInsert('tbl_user', ['name', 'status'],  [     ['zhan&#...

yii2数据库删除操作

 delete()$model = User::find($id); $model->delete();delete() 带条件删除$connection->createCommand()     ->delete('tbl_user', 'status = 0')     ->execute();delete() 使用sql删除$connection->createCommand('DELETE FROM tbl_user WHERE userid=:userid')     ->execute();delete() 绑定参数$model = $connection->createCommand('DELETE FROM tbl_user WHERE userid=:userid'); $model->bindParam(':userid', $userid); $userid = 5; $model->execute();使用预准备语句删除多个用户$model = $connect...

yii2数据库更新操作

save() OR update()$model = User::find($id); $model->name = 'yii'; $model->email = 'yii@framework.com'; $model->save();  // 同价于 $model->update();updateAllCounters()User::updateAllCounters(['states' => 1]);update() $connection->createCommand()     ->update('table_name', [SET_Values], 'CONDITION')     ->execute();$connection->createCommand()     ->update('tbl_user', ['status' => 1], 'age > 30')     ->execute();Update 使用sql语...

yii2数据库关联查询

Relation Model$model = User::find() ->with('comments') ->all(); foreach ($model as $user) {    // get data from relation model    $comments = $user->comments;    ......    foreach($comments as $comment){ ........    } }joinWith()$model = User::find()     ->joinWith('comments')     ->all();$model = User::find()     ->joinWith('comments')     ->orderBy('tbl_comments_id.id, tbl_user.id') &n...

yii2使用sql语句查询

findBySql$sql = 'SELECT * FROM tbl_user'; $model = User::findBySql($sql)->all();$sql = 'SELECT * FROM tbl_user'; $model = User::findBySql($sql)->one();queryAll查询返回多行$model = $connection->createCommand('SELECT * FROM tbl_user'); $users = $model->queryAll();queryOne返回单行$model = $connection->createCommand("SELECT * FROM tbl_user where userid=$id"); $users = $model->queryOne();queryColumn查询多行单值$model = $connection->createCommand('SELECT username FROM tbl_user&#...

yii2数据库select查询

find()$model = User::find(1); if($model){ echo $model->username; echo $model->status; }select()$model = User::find()->select('column1, column2')->all();all()$model = User::find()->all();one()$model = User::find()->one();where()$userid=1; $model = User::find() ->where('userid > :userid', [':userid' => $userid]) ->one();$model = User::find() ->where(['reg_date' => $date, 'status' => 1]) ->one();$model = User::find() ->where("reg_date > '2014-01-01' and status=1") ->all();$mo...

yii2场景常用操作

创建一个场景<?php class User extends Model { public $name; public $email; public $password; public function rules(){ return [ [['name','email','password'],'required'], ['email','email'], [['name', 'email', 'password'], 'required', 'on' => 'register'], ]; } public function scenarios()     { $scenarios = parent::scenarios();         $scenarios['login'] = ['name','password'];//Scenario Valu...

yii2 session常用操作

打开关闭sessionuse  yii\web\Session; $session = Yii::$app->session; // check if a session is already open if ($session->isActive) ... // open a session $session->open(); // close a session $session->close(); // destroys all data registered to a session. $session->destroy();设置session变量$session = Yii::$app->session; $session->set('user_id', '1234'); //OR $session['user_id'] = '1234'; //OR $_SESSION['user_id'] = '1234';获取session变量$session = Yii::$...

inotify+unison文件双向同步实践

本实例是在Vmware中全新安装2个虚拟机来完成的,IP分别是A机:192.168.177.130 B机:192.168.177.1312台主机是通过SSH密钥免密码互相登录的,分别在2台主机均执行以下相同操作:mkdir ~/.ssh chmod 700 ~/.ssh 生成RSA密钥,连续三次回车 ssh-keygen -t rsaA机中执行以下操作,将密钥加载到授权文件中ssh "-p 22" 192.168.177.130 cat /root/.ssh/id_rsa.pub >> authorized_keys ssh "-p 22" 192.168.177.131 cat /root/.ssh/id_rsa.pub >> authorized_keys scp -P 22 authorized_keys 192.168.177.131:/root/.ssh/可以看到生成的公钥存放在known_hosts中[root@localhost .ssh]# ll total 16 -...

yii2中静态资源js,css如何增加动态参数或版本号

    开发过程中经常会遇到最新的静态资源已经上传到服务器,用户看到仍然是旧的缓存内容,尤其是在微信站中最常见,缓存没有更新,用户就无法看到最新的内容,PC上浏览器可以强制刷新内容,但在微信中就无法手动刷新了。    这种情况可以给css和js路径后带上版本号,客户端浏览器就会重新下载新的js或css文件 ,从而起来刷新缓存的作用正常加载css和js的方式如下<link href="base.css" rel="stylesheet"> <script src="global.js"></script>带上版本号后加载css和js的方式如下:<link href="base.css?v=20161112001" rel="stylesheet"> <script src="global.js?v=20161112001"></script>上传新的静态资源后,只需要改变v=20161112001 的值为其它字符就可以...