组件 组件是YII框架application(应用)的主要组成部分,它是 [yii\base\Component]的实例或者子类。...组件有三个重要特征(功能): 属性(properties) 事件(events) 行为(behaviors) 单独或者组合使用这些特征,可以让yii框架的类变得更加易用和可定制。...举个例子,引入一个用户交互组件[yii\jui\DataPicker\data picker wigets],可以很轻松的在视图中生成一个日期选择控件(jquery ui date picker). use...,但是其开销也大于普通的类对象,原因在于组件需要额外的内存和CPU时间去处理事件(events)和行为(behaviors).如果你的组件不需要事件和行为这两个特征(功能),可以直接继承[yii\base...\Object],这样你的组件在性能(效率)上和普通类对象一致,且支持属性(properties).
自定义component 组件 在app\components下新建NewComponent.php namespace app\components; use Yii; use yii...> [ 'class' => 'app\components\MyComponent', ], ] 下面就可以愉快的使用 组件了是不是很简单
最近在使用yii2开发一个表单页面的时候,有多图上传的需求,稍微找了找这方面的组件,基本都安利fileInput这个组件,于是就尝试着使用这个库来完成后端表单页面的多图上传功能。...而且我们还希望上传图片是异步的,那么我们可以这么配置我们的fileInput组件 组件 FileInput的基本属性和设置,如有所需,可查看文档看属性的详细说明。
了解yii组件注册与创建的过程,并发现原来yii组件注册之后并不是马上就去创建的,而是待到实际需要使用某个组件的时候再去创建对应的组件实例的。本文大概记录一下这个探索的过程。 .../vendor/yiisoft/yii2/Yii.php'); require(DIR . '/../.....Application类最终也继承了\yii\base\Object类,\yii\base\Object类是支持属性的,所以yii\web\Application类也支持属性(关于属性,可以参考我的另一篇博文:yii2...搞了半天,原来yii创建应用实例的时候只是进行组件的注册,并没有实际创建组件,那么组件实例是什么时候进行创建的?在哪里进行创建的呢?别急。...\yii\di\Container的get()方法,接着就是依赖注入创建对象的过程了,关于这个过程已经在我的上一篇博文中讲解过了,可以参考一下:yii2之依赖注入与依赖注入容器。
添加表单使用了数据模型xxModel没有的字段,需要新建表单模型xxForm,这个时候,在控制器接受到了数据,子表单模型使用表单接受到的数据进行拼接,如:$th...
PHP 可扩展性 关于 YII2 这款框架,有两个概念值得说明一下 “组件和模块 .YII2 的扩展性主要体现在组件(comments)的设计上 'components' => [ 'request...种常见的组件 包括 user,seesion redis mongodb,log 等 感觉组件更适合做 infrastructure 的构建,而 module 则适合做业务的分离解耦 配置 YII2...带来的耦合性 我们简单分析 YII2 的主配置文件,很容易了解到 YII2 是通过模块(module),组件(components)来启动和项目功能的。...YII2 入口文件及环境配置.png 根据组件分拆配置文件,实现组件和模块的按需加载。...当然会有一些单元测试组件,比如 YII2 下的 Codeception,PHPUnit 进行数据 Mock。
<?php namespace frontend\controllers; use Yii; class IndexController extends \yi...
随机小技巧 当表单提交操作时,如出现“Unable to verfy your data submission”错误,是被Yii2框架的CSRF验证拦截了。
<?php namespace frontend\controllers; use Yii; use frontend\models\LoginForm; cl...
yii的默认方法是index,可以在vender/yiisoft/yii2/base/Controller.php 中进行初始设置,也可以在控制器中改写defaltAction='action'。...5.布局模式 yii会默认开启布局模式,其布局模板为view中的layout中的main.php,我们可以在veder/yiisoft/yii2/web/controller.php基础类中public...11.自定义函数 yii里面自定义函数可以在vendor/yiisoft/yii2/helpers/文件夹里,新建一个XXX.php文件,然后定义一个自定义类,再定义静态方法YYY()。...13.使用ActiveForm创建表单 yii2中使用小部件创建view视图的步骤: 设置一个Model设置其属性 public $username; public $password; 设置其rule
'authManager' =>[ 'class'=>\yii\rbac\DbManager::className() ...
到前台或者后台对应的conf.php文件进行配置allowedIPs,数组形式放允许gii访问
Expression('count(*) as count , count(distinct mobile) as mnumber') ])->asArray() ->all(); Yii2...view_hello_str) // 可以过滤掉代码 echo yii\helpers\HtmlPurifier::process($view_hello_str) ---- 用户组件登录修改...修改登陆状态超时时间(到期后自动退出登陆) config/web.php中的components组件数组中。
-- phpMyAdmin SQL Dump -- version 4.5.1 -- http://www.phpmyadmin.net -- -- Host:...
本文讨论的问题集中在使用Compoer安装YII2框架及更新组件包,升级YII2主版本时遇到的一些问题。 ? 前置条件 首先使用Composer包工具的需要满足以下两个前提,不区分操作系统。...Asset插件相关的问题主要集中在【安装Composer Asset插件老是失败】,解决方案都是给出执行具体的命令,安装这个插件的关键在于 确定当时fxp/composer-asset-plugin组件的最新版本...更新YII2 框架至2.0.14 遇到问题 Problem 1 - yiisoft/yii2 2.0.15.1 requires bower-asset/inputmask ~3.2.2 | ~...- Installation request for yiisoft/yii2 ~2.0.14 -> satisfiable by yiisoft/yii2[2.0.14, 2.0.14.1,...以上解决问题的路径是这样的,发现目前的YII2版本不支持PHP7及以上环境,于是使用Composer更新YII2框架版本,更新过程中一系列问题造成更新识别,依次定位到Asset插件问题并且更新对应的版本
这篇文章主要来看看在Yii2之中的MVC,当然,最核心的思想还是跟Yii1.1一样的,但是我今天是想来看看在Yii2里的MVC跟Yii1.1有什么不同,或者应该直接说,Yii2的改进在哪里,以至于使得官方敢向着最好的...Yii2的Active Record。...没错,Yii2中已充分开始使用PHP命名空间,当初在Yii1.1的时候一直听说Yii2会使用更高级的PHP特性来完全重写,果然啊,点个赞。...写在最后 正如你在这篇文章看到的一样,在Yii2中几乎所有的MVC组件变化都使得Yii2更好用了,我相信这会带给开发者更好的的开发体验,毕竟Yii2 中看到了一丝丝优雅的样子!...所以,各位还在苦恼应该上手哪个PHP框架的同学们,请不要犹豫,Yii2就是一个极好的选择。
sql: CREATE TABLE `user` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `u...
Yii2底层分析 我是从入口处分析的。...this->state = self::STATE_BEGIN; $this->preInit($config);//加载配置文件的框架信息 如:设置别名,设置框架路径等等 最为重要的是给加载默认组件...表面看起来没有太多的意义,实则不然,yii2的大部分组件都是以Object为基类的, 所以init函数很重要,控制器、模型、模块module,自定义组件等都可以去实现init方法。...其它组件同样如此。...至此第一部分执行完了,再看第二部分吧 $application = new yii\web\Application($config);//分析完成 $application->run();//加载主要组件
领取专属 10元无门槛券
手把手带您无忧上云