• yii2.0的ActiveRecord是可以嵌套子查询的。比如从一个子查询里面筛选数据。首先实例化出来一个Query对象,代表子查询。$subQuery = new \yii\db\Query(); $subQuery->from('tableA')->where(['>=', 'id', 10]);假如UserModel是一个AR:$list = UserModel::find()->from(['tmpA' => $subQuery])->all();from里面传数组,数组KEY是临时表的名字,值是Query对象。同样的如果是AR的join里面也要用到子查询,参数方式是一样的。...
     发布日期: 2015-04-24 15:43:58  分类: PHP  热度: 3029 ℃
  • 依赖注入英文全称是dependency injection,简称DI。它还有个名字叫控制反转(Inversion of Control),英文简称IOC。这些都是来自于Java的东西。yii的依赖注入器就是一个知道如何去实例化和配置对象及其依赖对象的一个对象。依赖注入yii是通过类yii\di\Container来提供依赖注入特性的。它支持如下种类的依赖注入方式:构造方法注入。Setter和属性注入。回调函数注入。构造方法注入通过构造函数参数类型提示注入。当创建一个新对象的时候,类型提示可以告诉注入器那些类或者接口是它所依赖的,注入器会尝试去得到被依赖类或者接口的实例,然后通过构造函数注入到新的对象里面去。例如:class Foo {     public function __constr...
     发布日期: 2015-01-27 21:05:54  分类: PHP  热度: 1372 ℃
  • Yii2.0的自带的验证依赖于GD2或者ImageMagick扩展。使用步骤如下:重写yii\web\Controller::actions()方法,用ID"captcha"注册一个CaptchaAction类的action。在表单模型里面添加一个属性,用来保存用户输入的验证码字符串;这个属性的验证器是"captcha"。在视图里面,把yii\captcha\Captcha Widget插入到表单里面。第一步,控制器:在任意controller里面重写方法/**  * @inheritdoc */ public function actions() {     return [          'captcha' => [               'class' => 'y...
     发布日期: 2015-01-13 14:00:35  分类: PHP  热度: 6361 ℃
  • 其实就是Yii2.0的高级应用模板:Advanced Application Template。我们知道默认的高级应用模板包括三个应用:backend - 应用的后台frontend - 应用的前台console - 应用的控制台应用那么如果我们要在增加应用呢?比如在加一个微信的应用,或者我的后台和前台应用的名字我想改一下。那么现在就来再增加一个名字为weixin的子应用。在frontend同目录新建一个名为weixin文件夹然后呢把frontend目录下面的东西全拷贝到weixin目录里面这一步就是修改路径了,修改web目录index.php的包含路径,还有config/main.php的包含路径修改config/main.php配置项controllerNamespace为weixin\...
     发布日期: 2014-12-03 12:43:13  分类: PHP  热度: 2376 ℃