首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Yii2 进阶篇

创建模型.png 创建控制器,实例化表单模型和渲染视图 ? 创建控制器.png 视图中使用ActiveForm创建表单元素 ? 创建元素表单.png 在控制器中接收表单数据并绑定数据到表单模型 ?...表单模型.png 注意:要调用上传功能,需要打开 php_fileinfo 扩展 uploads目录应该在入口文件同级目录 多文件上传 Yii2支持多文件上传,只需要在上面的例子中加入一些小的修改即可...修改表单模型 在验证中加入 maxFiles 配置表示最多可以上传多少个文件 修改表单模型的upload 方法 如果是多文件上传,这里的$this->imageFile 就会是一个数组,所以可以使用foreach...验证码 Yii2中的验证码是通过扩展的操作来实现的,叫做 yii\captcha\CaptchaAction 只需要将它绑定到actions中就可以直接访问,无需任何更改: ?...,在Yii2中,不需要自己去写验证,直接在表单模型的 rules 中调用 captcha 验证就可以了 ['verifyCode','captcha'], 数据分页 Yii2也提供了类似于TP的数据分页类

2K31
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    yii2开发后记

    5.布局模式 yii会默认开启布局模式,其布局模板为view中的layout中的main.php,我们可以在veder/yiisoft/yii2/web/controller.php基础类中public...场景设置 yii中有对场景的定义,定义场景可以使得yii在不同的情况下返回不同的数据信息。用model的scenarios()方法来设置返回数据。...使用$this->registerJsFile('js.js')来引入js文件; 使用$this->registerJsFile('js.js')来引入js文件; 8.分页类的使用 //在模型中计算出总数量...查询语句构造器非常简单好用,它可以用在模型和控制器中,虽然可能会造成模型与表不对应,但其构成接近sql语句,使用它可以轻易写出复杂的sql语句而不必严格遵从yii的内置规则。...在ActiveForm中如果数据表中有了此字段,就不要再用public声明一个属性了,会导致attribute无法赋值。。。。(血泪)。

    3.2K50

    作为一位资深程序员,你一年中有多少天是准时下班的?如何看待这份工作?

    作为已经写了十几年代码的老程序员,准时下班的次数现在看少的可怜,倒是刚毕业进的第一家公司属于外企性质,有很多次的准时下班的经历,结果随着技术能力提升以及经验的增加承担东西越来越多,基本上准点下班的可能性越来越小了...一般国内的中小企业软件加班现象都比较严重,真有正点下班的时间也是忙完一个项目之后,在调整期间会有准点下班的可能性,通常意义上的整点下班几乎不可能,越是工作经验丰富承担的越多加班的概率越高,要说到加班最厉害当属于互联网公司...2.大部分的加班都是人为造成,在一个功能还没完成的时候,就会有新的任务加进来,或者在接近下班的时候又会增加一个新的功能进来,结果只能是继续被迫加班,久而久之的加班也就成了常态。...绝大部分加班是由于任务量压得太紧或者功能无休止的增加导致软件框架显得非常臃肿从而产生很多无谓的bug,有很多加班不是为了增加新的功能而是解决很多因为匆匆忙忙加的功能造成的异常。 ?...3.也有少数真正的程序员加班学习新的知识,真正对于编程感兴趣的都会不自觉的涉猎更多的编程知识,完善自己的知识体系,而且越是学的深入越会觉得自己能力的不足,越会拿出大量的时间弥补自己的不足之处。

    56560

    Yii2的GridView使用大全 --- 18个问答

    经常有人问yii2的GridView配置问题,最近群里也有人问到,我想是时候发布一个教程了。 我们采用的是yii2.0.14版本,为了学习方便,以问答式书写。...通常情况下GridView是和各种dataProvider配合使用,针对于yii2框架中的dataProvider我之前写过一篇文章,你可以看下,这将有助于你对GridView的学习。...w=1632&h=724&f=jpeg&s=110665] A2.我想更改列的头部内容 在A1中我们发现每一列的头部是英文,现在想改成中文,有三个方法 方法1 更改对应模型中的attributeLabels...A4.我想定义一个属性叫省市,将省和市字段内容合并 通过对A2和A3的学习,我想你已经知道可以通过数组类型的column来解决这个,没错,如下代码 try { echo GridView::widget...w=1644&h=770&f=jpeg&s=124941] A6.列的样式如何控制? 到现在你已经知道了5个使用GridView的技巧,我们继续,在A6中我们尝试改变表格某一列的样式。

    2.2K80

    yii2开发中19条推荐实践

    bug,这需要你在一个yii2生命周期内持续的观察某些变量的值及赋值路径,具体配置可以参考我之前的课程, 用xdebug支持yii2调试之 - PhpStorm配置篇 当然,yii2自己的debug扩展也极其有用...开发中 本段为你介绍我在yii2开发中一些习惯和小技巧,希望对你有用。...模型的重要性 很多yii2的初学者喜欢将大量逻辑写到控制器的动作(action)中,这是不对的,我们的重点应该在模型中,而控制器仅仅是做输入输出。 我们拿关联举个例子,下面的这段代码是不好的。...,"created_at",strtotime(date("Y-m-d",time()))-86400*3])->all(); } 我们最好将这段逻辑放到会员模型中 // User模型 public...当然从理念上说也有点不同 行为 一些类附加的属性 父类 一些类共同的属性 我的用法(不一定就是对的),尤其在模块中我喜欢为控制器增加一层父类。

    3.3K70

    Yii2框架踩坑记录-数组数据渲染到后台页面带分页

    不得不说Yii框架还是一个非常高效的框架,Gii扩展能生成简单的CRUD操作,问题也就出在这里,我的数据不是直接从单独的表出来的,需要连查,需要递归操作 PM前两天说的是统计一下这段时间用户的邀请人数,...不是有直推人数的字段吗?我要指定时间段的数据~ 不要给我说什么底层原理、框架内核!老夫敲代码就是一把梭!Ctrl+C Ctrl+V 拿起键盘就是干!...方法就是之前说递归的时候的方法,得到数组$invNums,该数组用$invArr数组中的值作为键名,该键值是在数组中出现的次数 因为要在后台显示,最好还是给它一个键名,循环一下 $info = [];..., 这个大数组的元素既可以是一些关联数组也可以是一些对象,所以把我们的数组$info扔进去,同样的方式去刷新页面,ok,值有了 但是有个问题,数组数据提供者与Active Data Provider和SQL...原创文章采用CC BY-NC-SA 4.0协议进行许可,转载请注明:转载自:Yii2框架踩坑记录-数组数据渲染到后台页面带分页

    1.8K50

    composer系列之五

    轻松发布一个自己的composer扩展 我们一直在使用别人发布的扩展,是否想过自己发布一个? 今天就来聊聊如何发布一个composer扩展及其注意事项。...你可能会问,我现在开发的系统使用了composer来安装依赖,我自己项目根目录下也有一个composer.json,那我的项目是一个扩展包么?...是的,你的项目也是一个包,但是此刻它不能发布、不能被别人通过composer安装,因为它少了一个最重要的元素 ---- 名字。...就是我们之前讲的composer.json中的name,具体name的约定我想你已经通过之前的学习了解了吧 如果你不知道拿什么作为供应商的名称, 那么使用你 github 上的用户名通常是不错的选择。...,composer安装了你的扩展后,映射关系会出现在 vendor\composer\autoload_psr4.php 文件内容中。

    85361

    YII2通过composer优化vendor

    本文讨论通过composer工具安装Yii2框架并优化Vendor过程中遇到的问题,约定读者对composer基本原理有一定了解,并且有安装Yii2框架的实际经验。...在Yii2 中,vendor是composer下载的依赖库文件,官方的项目模板代码里只有其自己的项目文件,而其依赖的yii框架等类库,都记录在composer.json里面,只要安装好composer,...2 自己安装的Yii2的项目中,vendor中的包在composer.json 中找不到对应,而这些包大多是暂时不需要用到的,该如何remove,保持vendor最小化?...项目明显不需要的组件可以直接remove处理掉,至于性能性能影响暂时还没有遇到过。延迟加载算是框架级别的优化,我选择相信它的能力。...---- 请阅读原文,获得更好的阅读体验,文中有不确切之处,欢迎留言讨论。

    1.5K40

    Meteor 分页包 alethes:pages 详解

    在做大部分真实应用的 web 项目过程中,都会有一样不可或缺的需求,那就是分页。Meteor 项目也不例外,同样会有这样的需求,本文给大家介绍的就是一个非常好用的分页包 alethes:pages。...个性化 但具体每页显示多少数据、显示数据的样式如何定义、分页导航按钮能不能换成滚动屏幕自动加载瀑布流的方式?等等类似的问题,这个包都提供了解决方案。...,其中 infiniteTrigger 参数我在使用过程中遇到了很多问题。...我分别在页面中打印了一下 window.innerHeight 的值和 document.body.offsetHeight 的值,赫然发现两个值时相等的,所以导致我滚动条刚刚开始滚动的时候,window.innerHeight...知道原因了,如何解决呢?为什么 document.body.offsetHeight 的值与 window.innerHeight 的值一样大呢?不应该是页面所有元素的高度吗?

    21520

    从配置文件的角度去了解Yii2

    本文就从Yii2 Advance版本的配置文件着手,详细介绍配置文件角度的Yii2框架,其中涉及到的部分内核方面的要点将在后续文章中逐一说明....Yii2为了简化开发难度,所以用户定义的目录加载方式全部使用Yii2自己定义的autoload方法(Yii.php中注册的BaseYii.php中的autoload),而不是编辑composer.json...'modules' 对应的modules(例如backend)目录下的Module对象的命名空间.方便Yii2进入你所定义的module. module在Yii2中是一组MVC的封装,这个概念可能在其他框架中不同...在Yii2中会对部分component内置好'class'字段的配置,也就是说,作为开发人员,你不需要知道这个component对应的对象在哪里,直接配置后使用就可以了.当然如果自己写的话必须指定component...Yii2的DI和对象模型,后续文章详细介绍.文章在这里 7.

    1.5K21

    Yii2的MVC新特性

    这篇文章主要来看看在Yii2之中的MVC,当然,最核心的思想还是跟Yii1.1一样的,但是我今天是想来看看在Yii2里的MVC跟Yii1.1有什么不同,或者应该直接说,Yii2的改进在哪里,以至于使得官方敢向着最好的...每一个Model Class其实很多时候都是跟一些更加核心的类(比如Active Record)配合着使用,而在Yii2中,Active Record的增强也让我很惊喜,后续我打算再写一遍文章来专门介绍...在每一个Model当中,attributes和attributes label其实跟Yii1.1差不多,但让我特别值得拍手称快的是在Yii2中,除了rules()函数之外,还有scenarios()函数来增强...不过,你在Yii2的Controller中只需认识这些新特性基本就足矣,因为一些更基本的东西跟Yii1.1是一样的,完全不用怕,(我是说如果你上手过Yii1.1的话)。...写在最后 正如你在这篇文章看到的一样,在Yii2中几乎所有的MVC组件变化都使得Yii2更好用了,我相信这会带给开发者更好的的开发体验,毕竟Yii2 中看到了一丝丝优雅的样子!

    2.7K20

    这周撸了两款小程序,总结下经验。

    当服务器端进行了存储后要生成一个key,将其返给小程序,以后小程序凡是发起需要用户认证的请求,都带这个key用来判断用户身份,在yii2中,这个key就是我们restful中的access_token。...以上是关于小程序登录的前后台逻辑,如果你使用yii2类框架,很多都内置了,并不复杂。 但是这里还有几个问题 小程序端何时进行登录逻辑? 发起请求时access_token过期了如何处理?...客服消息 在小程序开发中,客服消息的重要性不言而喻,它除了作为客服服务外,还作为小程序到微信浏览器的一个渠道,比如本次在「宝宝爱识图」的开发中,我用它来实现将收款微信号到用户的推送工作,这主要是解决在ios...服务器端 接下来总结下服务器端,我使用yii2的restful组件作为接口支持,关于restful的基本功能请参考yii2官方文档或我之前录制的课程《Yii2的RESTful讲解》,在这里分享我认为关键的点...让yii2能解析json的请求内容 默认情况下yii2并不能识别请求中的json格式,而我们小程序在发起请求时喜欢用它,因此我们要对yii2进行一下配置。

    1.4K50

    从配置文件的角度去了解Yii2

    本文就从Yii2 Advance版本的配置文件着手,详细介绍配置文件角度的Yii2框架,其中涉及到的部分内核方面的要点将在后续文章中逐一说明....Yii2为了简化开发难度,所以用户定义的目录加载方式全部使用Yii2自己定义的autoload方法(Yii.php中注册的BaseYii.php中的autoload),而不是编辑composer.json...'modules' 对应的modules(例如backend)目录下的Module对象的命名空间.方便Yii2进入你所定义的module. module在Yii2中是一组MVC的封装,这个概念可能在其他框架中不同...在Yii2中会对部分component内置好'class'字段的配置,也就是说,作为开发人员,你不需要知道这个component对应的对象在哪里,直接配置后使用就可以了.当然如果自己写的话必须指定component...Yii2的DI和对象模型,后续文章详细介绍.文章在这里 7.

    97031

    微信小程序实践-- 服务器端接口restful配置

    urlManager 如果要实现上面的url样子,我们必须进行url美化,这需要web服务器的支持(apache&nginx如何支持url重写可以参考 速查表),单单这样还不够,yii2提供了restful...对于一般的restful规则的yii2路由配置如下图 alt 红色框内的代表一个标准restful中控制器路由规则,绿色框内是你必须要填写的,其他的except、pluralize、extraPatterns...在我们设置了urlManager后,yii2就变得智商满满了,当过来一个 GET xgh.nai8.me/xcx/albums 请求后,yii2知道这是一个要获取资源结果集的请求,则会去调用xcx模块下的...album控制器的actionIndex,以此类推yii2提供了很多个内置的action识别,具体见下图 alt 当然具体如何实现的你可以参考 yii\rest\UrlRule.php 类及yii2的...小提示:在兄弟连PHP原创视频中对这个原理也进行了详细的解析(《Yii2的RESTful讲解》第三节) 配置控制器 urlManager配置完成,接下来就是写一个控制器了,老沙对此很熟悉,不就是一个继承问题么

    3.2K70

    Yii2中对Composer的使用

    如何理解Composer? 若使用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的插件,今后我会整理一下常用的插件方便大家使用

    93720
    领券