需求: 请求的接口为: getServerAddr 问题: 请求的地址只有一个,不符合 控制器名/方法名 的格式。...解决方案, 设置默认方法, public $defaultAction = "Index"; 这样请求 /getServerAddr,实际请求的应该就是/getServerAddr/index 经过测试...,报错 404, 检查发现是由于控制器的大小写引起的,只有请求地址为:get-server-addr 才会映射到 getServerAddrController 中,看了一下网上的解决方案, 大部分是去修改...module.php 中的匹配规则。...// 这是修改前的代码 /*if (!
test-order-file', ], ], 4.控制器调用 $qcc = Yii::$app->get('name');//name必须是components内取的名字
打开配置文件config/web.php,在modules对应的数组中添加元素’admin‘,代码如下 'modules'=>[ 'admin' => [ 'class...下面我们看一下代码实现: 我们在Module类中增加getAssetsUrl方法 <?...提示 @yii: BashYii.php 文件所在的目录(也被成为框架安装目录)\vendor\yiisoft\yii2 @app:当前运行的应用所在目录。...以上代码在浏览器中显示的内容如下: modules-admin-views-index 在调用publish()方法的过程中,在应用目录下随机创建了“4ebd21cf”文件夹,并把/modules/admin/assets目录下的文件复制过去
首先我们介绍一下Controller类的render()方法的执行流程,需要查看vendor\yiisoft\yii2\base\Contorller.php文件中的render()方法源代码。...在renderController()方法中首先调用findLayoutFile()方法,渲染出布局文件,然后调用View类的renderFile()方法,完成局部文件和使徒的渲染。...开始应用级布局 在一个应用中多个控制器使用一个布局文件,那么可以在应用级配置文件config/web.php中设置yii/base/Application的$layout属性,代码如下: $config...> 嵌套布局实现页面渲染流程: 首先渲染视图文件article.php的内容,存储到布局文件reght.php的$content中。...,在Module类中定义了getViewPath()和setViewPath()方法,来获取和设置视图文件路径,代码如下所示: //所在文件路径vendor\yiisoft\yii2\base\Application.php
旧的解决办法 在控制器的 behaviors 方法中增加下面的代码: public function behaviors() { $behaviors = parent::behaviors(...Reason: Credential is not supported if the CORS header ‘Access-Control-Allow-Origin’ is ‘*‘ | mozilla 新的问题...上面的理论上解决了跨域问题,但是新版 Chrome 根据 Cookie 的 SameSite 属性,仍然会阻止 Cookie 的发送 network show filtered out request...参考: What’s New In DevTools (Chrome 79) | medium Cookie 的 SameSite 属性 | ruanyifeng 在开发环境根治跨域问题,使用 webpack-dev-server...References 解决 Yii2 + Vue 前后台分离时跨域的问题 | shiqidu 跨源资源共享(CORS) | mozilla – EOF – # php # yii2 # vue
若使用Composer我们应该先知道这是一个什么东西,主要干什么用的,我们可以把Composer理解为PHP包的管理工具,管理我们用到的Yii2相关的插件。...2、windows安装 下载Composer-Setup.exe,直接双击安装,具体使用介绍参考 win7系统下安装yii2步奏 linux下使用composer的执行命令:php composer.phar...Yii2中的composer 当我们安装完Yii2后打开目录我们会在安装目录下看到composer.json文件,里面有所需的信息和依赖的库。...每次我们需要安装所需的Yii2插件时,打开composer.json 找到 “require”如下: “require”: { “php”: “>=5.4.0”, “yiisoft/yii2”: “=2.0.10...php composer.phar update foo/bar) 这只是Composer在Yii2中的一个使用,它还有好多命令,大家可以参考Composer的官方网站,至于Yii2的插件,今后我会整理一下常用的插件方便大家使用
[['字段名'],required,'requiredValue'=>'必填值','message'=>'提示信息']; email : 邮箱验证||CEmailValidator 的别名,确保了特性的值是一个有效的电邮地址..., 确保了特性是一个有效的路径....显示出来的验证码...., 确保属性值存在于指定的数据表字段中....['level', 'in', 'range' => [1, 2, 3]]; unique : 唯一性||CUniqueValidator 的别名, 确保了特性在数据表字段中是唯一的.
A6.列的样式如何控制? 到现在你已经知道了5个使用GridView的技巧,我们继续,在A6中我们尝试改变表格某一列的样式。...,此时可以通过css类解决这个问题。...A7.关于GridView中footerOptions的使用。 在A6中我们说GridView的列有一个footerOptions属性,那么这个属性是干嘛用的那?.../td> 因此每列的footerOptions就控制着在tfoot中这一列对应的td。...要注意:A6、A7和A8中的这些xxxOptions所能控制的是标签的属性,不单单是style。
Text-to-speech function is limited to 200 characters
原生写法如下 select * from vd_video order by locate(video_type_id,'3,7,6') desc Yii中写法如下 $type_ids =
YII2中的行为说白了就是对组件功能的扩展,在不改变继承关系的条件下。 行为附加到组件后,行为将注入自已的方法和属性到组件,可以像组件访问自定义的方法和属性一样访问行为。...注意行为是对功能的扩展,不要乱用行为,比如有一个动物类和一个人类,他们各自有自已的名称,身高,体重,这些是属性。 他们都会跑,这个时候我们就可以抽象出来做成一个跑的行为,根据不同需求来扩展他们。...; } } 然后我们在两个控制器中配置... { //控制器调用行为中的方法... { //控制器调用行为中的方法
Hbase通过thrift这个跨语言的RPC框架提供多语言的调用。 Hbase有两套thrift接口(thrift1和thrift2),但是它们并不兼容。...1.2.6hbase-thriftsrcmainresourcesorgapachehadoophbase文件夹同时存在thrift和thrift2接口描述文件,本文只使用thrift2 在D:projectthrift目录中输入...cmd命令,生成对应php的sdk文件。...start thrift2 //启动 $HBASE_HOME/bin/hbase-daemon.sh stop thrift2 //停止 5、与yii2整合 在vendor文件夹中新建hbase目录...,希望对大家的学习有所帮助,也希望大家多多支持。
作为自己的周总结,平时遇到的问题,以及一不小心踩的坑,记录下来自己当复习: 表单验证 表单验证,两个参数中至少需要一个(2个以上): public function rules() {...获取url中的host信息: # http://localhost Yii::$app->request->getHostInfo() 获取url中的路径信息(不包含host和参数): Yii...当GridView和DetailView列表中的某一条内容为连续的英文或数字(比如网站链接等)时,该内容会不换行,导致该列宽度被顶的特别长,甚至超出div的宽度。...// post Yii::$app->request->bodyParams // get Yii::$app->request->queryParams; Yii2 生成url的两种方式实例:...情境要求: 要在订单(Order)视图的gridview中显示出客户(Customer)姓名,并使其具有与其它字段相同的排序和搜索功能。
// config/web.php 'language'=>'zh-CN' 静态缓存问题 在用yii2的时候,我们习惯将静态文件(图片、css文件、js文件等)放到资源类中管理,但是可能存在浏览器缓存问题...开发中 本段为你介绍我在yii2开发中一些习惯和小技巧,希望对你有用。...模型的重要性 很多yii2的初学者喜欢将大量逻辑写到控制器的动作(action)中,这是不对的,我们的重点应该在模型中,而控制器仅仅是做输入输出。 我们拿关联举个例子,下面的这段代码是不好的。...对于上面的问题我们是这样解决的。...另外在做迁移脚本的时候,如果你的表有前缀,那么在脚本里的写法如下 {{%user}}// discuz_user 时间问题 使用yii2开发mysql类web应用的时候,数据表的时间类字段我们喜欢用时间戳
/vendor/yiisoft/yii2/Yii.php'); require(DIR . '/../.....这些组件的信息是在引入进来的几个配置文件中配置的,Yii组件就是使用这些参数信息进行注册与创建的。 ...回想最初调用的源头,其实它就是入口文件中需要进行实例化的\yii\web\Application类的对象啊。...类最终也继承了\yii\base\Object类,\yii\base\Object类是支持属性的,所以yii\web\Application类也支持属性(关于属性,可以参考我的另一篇博文:yii2之属性...\yii\di\Container的get()方法,接着就是依赖注入创建对象的过程了,关于这个过程已经在我的上一篇博文中讲解过了,可以参考一下:yii2之依赖注入与依赖注入容器。
工作中的一些细节问题: 记一次yii2种ajax提交数据时校验出问题,直接跳过addError,报错语不现实‘不存在!’...(24小时之内),今天已经提取到客户的数量,利用提取时间大于0,并且部门属于客户公海部门或者是客户公海对应部门的下属部门 // $count = CrmCustomer::find...; // } // } } 原因: validateCustomerId() 中的校验有出错的地方,导致addError()不执行 正确的校验应该显示这样的...错误的: ?...直接跳过第一次遇到的报错,走后面去了 解决: $this->order后面有遇到需要重复使用到的,就需要return,或者每一个后面加return,低级错误,但是容易犯 public function
'sessionTable'=>"{{%session}}", 'name' => 'advanced-frontend', ], 再某个数据中中创建...数据库结构: 控制器: 插入的数据.
在应用的时候需要先对yii2进行扩展安装 如果装有composer直接运行 php composer.phar require --prefer-dist yiisoft/yii2-redis 当然也可以本地安装...'/yiisoft/yii2-redis', ), ), 最后在config文件下的web.php中添加如下配置项(配置文件目录要写对笔者当时就是因为这个搞错了浪费了一上午时间) 'redis...地址 'port' => 6379, //端口 'database' => 0, ] 接下来就可以进行对redis的操作了 以下是几个简单的小实例...$var61 = Yii::$app->redis->smembers('mioji1'); 5)有序集合 设置集合中的索引及成员 $var8 = Yii::$app->redis->zadd('mioji2...','1','zf','2','ls'); 返回集合中成员的个数 $var81 = Yii::$app->redis->zcard('mioji2'); 返回指定索引区间内的成员 $var82 = Yii
细读Yii2的Response 一个完整的网络请求,最后都需要一个符合协议的返回。Yii2在处理web请求之后,统一通过web/Response处理返回。...触发Response后置操作 数据清理 Yii2的Response http状态码明确。...在web/Response 文件中定义了状态码数组,几乎涵盖了所有的http状态码,并给出了标注的状态码文字说明。如果想了解http状态码,看Yii2的Response文件就足够了。...但是这种分工明确的设计却又很清晰明了。 总的而言,Yii2的Response 代码逻辑结构相当清晰,而且输出内容都非常规范的遵循http协议规范。...同时提供前置事件,数据准备前置事件,后置事件给开发者在不同的情况下处理额外的数据。代码在阅读起来非常明了。从头到尾,完整的看一遍,就可以完全理解。以下是Response中的两段代码。
定义的 视图(Views) 在Yii2的Views中也有一些小小的变化,最明显的变化莫过于render()函数了,现在它会返回一个值,而不是像Yii1.1的那样输出(output)值,比如: public...在Views还有一个值得注意的地方就是this变量,在Yii1.1中,this可以说就是链接Controller和Views的中介;而在Yii2中, 控制器(Controllers) 首先直接来看一下代码...没错,Yii2中已充分开始使用PHP命名空间,当初在Yii1.1的时候一直听说Yii2会使用更高级的PHP特性来完全重写,果然啊,点个赞。...不过,你在Yii2的Controller中只需认识这些新特性基本就足矣,因为一些更基本的东西跟Yii1.1是一样的,完全不用怕,(我是说如果你上手过Yii1.1的话)。...写在最后 正如你在这篇文章看到的一样,在Yii2中几乎所有的MVC组件变化都使得Yii2更好用了,我相信这会带给开发者更好的的开发体验,毕竟Yii2 中看到了一丝丝优雅的样子!
领取专属 10元无门槛券
手把手带您无忧上云