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

Yii2用Gii自动生成Module+Model+CRUD

生成后台私有模型 生成后台私有模型,并继承公共模型,在该类中实现后台私有的方法。 ? 生成成功会显示如下: ? 6. 生成CRUD操作和视图 ? 去掉用不到的视图文件 ? 生成成功会显示如下: ?...(非Yii2方法) 如下: 访问index方法时,datetime字段会被格式为"Y-m-d H:i:s"格式, 访问xls方法时,datetime字段会被格式为"Y年m月d日"格式, 匿名函数中的...在backend/modules/test/models/TestSearch.php中 配置好search方法,根据需求来确定字段搜索是like还是=或者其他。...可参考Yii2的yii\db\Query的 andFilterWhere等方法和操作符格式 andFilterWhere可放心使用,搜索时字段非空才会执行。...$this->$attribute;//这里可以重新设置name的值 //也可以使用自定义验证规则 //if (!

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

    nextline函数_在JAVA中Scanner中的next()和nextLine()为什么不能一起使用?

    ,结束条件是碰到空格、tab 键、enter 键 nextLine可以获得空白 以回车作为结束符,也就是 nextLine 返回回车之前的所以字符 举例 代码调用分两种: class ScannerDemo...回车符 “\r” 它被丢弃在缓冲区中,现在缓冲区中,只有一个 \r ,于是 下一次 nextLine 扫描的时候就又扫描到了 \r,返回它之前的内容,也是啥都没有 “” ,然后再把 \r 去掉, 对于...这个扫描器在扫描过程中判断停止的依据就是“结束符”,空格,回车,tab 都算做是结束符 而坑点在于 next 系列的,也就是下面这些函数:next nextInt nextDouble nextFloat...这些函数与 nextLine 连用都会有坑 坑点就是 next 系列的函数返回了数据后,会把回车符留在缓冲区,因此我们下一次使用 nextLine 的时候会碰到读取空字符串的情况 解决方案:输入都用...,所以,还是继续使用 BufferReader 吧!

    2.7K10

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

    先去把我脚本的代码复制过来 $orderModel = new OrderModel; $orders = $orderModel::find() ->joinWith('orderGoods'...], 'sort' => [ 'attributes' => ['nums'], ], ]); 应该指定 allModels 属性作为一个大的数组, 这个大数组的元素既可以是一些关联数组也可以是一些对象...,所以把我们的数组$info扔进去,同样的方式去刷新页面,ok,值有了 但是有个问题,数组数据提供者与Active Data Provider和SQL Data Provider这两者进行比较的话, 会发现数组数据提供者没有后面那两个高效...,这是因为数组数据提供者需要加载所有的数据到内存中,2w条数据,在本地连接远程库,30s读取。...原创文章采用CC BY-NC-SA 4.0协议进行许可,转载请注明:转载自:Yii2框架踩坑记录-数组数据渲染到后台页面带分页

    1.8K50

    yii2开发后记

    yii的默认方法是index,可以在vender/yiisoft/yii2/base/Controller.php 中进行初始设置,也可以在控制器中改写defaltAction='action'。...5.布局模式 yii会默认开启布局模式,其布局模板为view中的layout中的main.php,我们可以在veder/yiisoft/yii2/web/controller.php基础类中public...,虽然可能会造成模型与表不对应,但其构成接近sql语句,使用它可以轻易写出复杂的sql语句而不必严格遵从yii的内置规则。...(Btable::className,['bid'=>'aid']); } 查询时可以使用joinWith('Btable')->find();会在查找时查找其关联对象;也可以使用$this->find...>" 然后在JS文件中正常使用。 4.全局常量的定义 我们可以在config文件夹中的params.php中定义全局常量。

    3.2K50

    yii2开发中19条推荐实践

    Composer 这个是做yii2开发的基石,除非没有办法使用,否则请不要放弃,除了更容易的安装yii2及第三方扩展外,能使用Composer代表着你的服务器最少能运行起来php-cli,那么你就可以使用...bug,这需要你在一个yii2生命周期内持续的观察某些变量的值及赋值路径,具体配置可以参考我之前的课程, 用xdebug支持yii2调试之 - PhpStorm配置篇 当然,yii2自己的debug扩展也极其有用...开发中 本段为你介绍我在yii2开发中一些习惯和小技巧,希望对你有用。...规则 对与错,不要随便就写。...使用迁移脚本 我说过了很多次,本篇还是要说一次,对于一个yii2程序的数据库部分请用migration来管理。 并且这些脚本应该一起放到到你的版本控制里,记住,迁移脚本一般包含两个部分。

    3.3K70

    Yii2 学习笔记之数据库篇

    * 在CustomerModel中添加与订单的关系 */ Class CustomerModel extends ActiveRecord { /** * 客户和订单是一对多的关系所以用...,可以使用unset($customer->country);来清除缓存,那么下次调用则会重新执行查询SQL。...在查询时加了->select();如下,要加上order_id,即关联的字段(比如:order_id)比如要在select中,否则会报错:undefined index order_id // 查询客户与他们的订单和国家...joinWith() // 在SQL中一次性级联查询,调用相关数据,都直接在查询出来的数据中直接获取 // 查询客户与他们的订单和国家 $customerList = CustomerModel::find...var_dump($customer->orders); var_dump($customer->country); } 4.joinWith与with的区别 with方式原理流程: 总共执行了

    3.2K70

    yii2组件之下拉框带搜索功能的示例代码(yii-select2)

    如果你还没有使用过composer,你可就out了,看我的教程分享,composer简直就是必备神奇有木有。都说到这个点上了,我们赶紧使用composer进行安装吧。...composer安装下来之后这里记得删掉 vendorkartik-vyii2-widget-select2目录下的.git文件,不然你提交不上去的哦 等他个大概5分钟的样子差不多了,安装就好了,然后我们就可以像下面一样开始使用了...$data = [2 => 'widget', 3 => 'dropDownList', 4 => 'yii2']; echo $form->field($model, 'title')->widget...来,上家伙,我们来看看如何使用异步搜索功能,工作中尤其是进行关联数据的时候其用途更是大大的,方便性嘛,看看就知道了,好用的不得了。...$q) { return $out; } $data = Article::find() ->select('id, title as text') ->andFilterWhere(['like',

    1.1K20

    yii2的加密解密那些事儿

    相关环境 操作系统及IDE macOS 10.13.1 & PhpStorm2018.1.2 软件版本 PHP7.1.8 Yii2.0.14 在yii2中,管理加密解密的库叫做Security,它以yii2...hkdf 使用标准的 HKDF 算法从给定的输入键中导出一个键。在PHP7+使用的是hash_hkdf方法,小于PHP7使用hash_hmac方法。...pbkdf2 使用标准的 PBKDF2 算法从给定的密码导出一个密钥。该方法可以用来进行密码加密,不过yii2有更好的密码加密方案 generatePasswordHash。...validateData 函数的第三个参数应该与使用 hashData() 生成数据时的值相同. 它指示数据中的散列值是否是二进制格式. 如果为false, 则表示散列值仅由小写十六进制数字组成....maskToken && unmaskToken maskToken用于掩盖真实token且不可以压缩,同一个token最后生成了不同的随机令牌,在yii2的csrf功能上就使用了maskToken,原理并不复杂

    91820

    用发展的眼光追技术

    我们返回头再整体回顾下 YII2 框架,你会发现在 YII2 官方的默认模版中,View 层还是占有很大的比重。...在 YII2 社区中安装 YII2 版本的讨论中,经常有一个 View asset 扩展安装的难题,核心就是前端页面元素与后端服务的耦合的问题,以及版本依赖的冲突。...API 简单概括 “现在我们使用 YII2,就是在使用它构建 API 的能力。...secretKey) throw new InvalidConfigException('secretKey required.'); } PHP 如何做单元测试 这个可以作为一个面试题与候选者沟通...总结 看看程序语言的发展脉络,以及前后端发展的变革,可以总结出两个词:演变和趋势。在应用程序开发中,前端这个职位是从后端细化和演变而来的,前后端分离和独立就是技术的趋势。

    1.4K20

    盘点7款顶级 PHP Web 框架

    Laravel的优势:易于学习;无缝数据迁移;在 PHP 社区中很受欢迎;MVC 架构支持;大量培训材料(文档、图像和视频教程);模板引擎;简单的单元测试等。...2、Yii2 Yii2是一个基于组件的高性能 PHP 框架,基本能提供PHP 框架中的所有特性,因其安全功能而受到网站开发人员的欢迎,并且具有极好的可扩展性,当程序员需要确保可扩展性并开发高效、易于维护的...这个功能强大且易于使用的框架适用于各种 Web 应用。 Yii2 的优势:AJAX 支持;处理错误的有效工具;自定义默认设置;简单的第三方组件集成;强大的社区支持等。...与其他框架相比,Phalcon(在最流行的 PHP 框架中)使用的资源非常少,从而可以快速处理 HTTP 请求。...使 Symfony 成为 PHP 框架中独一无二的特性之一是它的可重用 PHP 组件。使用可重用组件,开发时间减少了许多模块,如表单创建、对象配置、模板等。可以直接从旧组件构建,节约了大量成本。

    4.7K00

    系统服务化构建-项目整体框架

    本篇文章旨在讨论如何组织通用型项目代码结构,以PHP YII2框架为例做说明,设计思想与语言本身无关。...基础功能组件与业务模块组件异同 1 解耦,稳定,可用 软件模块的基本要求必不可少。 2系统中的所处的层析清晰,不可混用。...公共方法类型在系统中位置没有严格的约束,一般在业务组件中使用较广 宿主工程 宿主工程在系统中位于最上层,起到调用业务模块的左右。...宿主工程在部署后直接暴露出来被消费者使用, 如网站,服务接口,或者控制台可执行程序。...注:以上借助于框架特性,以YII2 Module的形式来组织代码,Module的具体使用案例及生成规则不在此文章中讨论。

    69920

    Yii2的MVC新特性

    每一个Model Class其实很多时候都是跟一些更加核心的类(比如Active Record)配合着使用,而在Yii2中,Active Record的增强也让我很惊喜,后续我打算再写一遍文章来专门介绍...在每一个Model当中,attributes和attributes label其实跟Yii1.1差不多,但让我特别值得拍手称快的是在Yii2中,除了rules()函数之外,还有scenarios()函数来增强...在Views还有一个值得注意的地方就是this变量,在Yii1.1中,this可以说就是链接Controller和Views的中介;而在Yii2中, 控制器(Controllers) 首先直接来看一下代码...没错,Yii2中已充分开始使用PHP命名空间,当初在Yii1.1的时候一直听说Yii2会使用更高级的PHP特性来完全重写,果然啊,点个赞。...写在最后 正如你在这篇文章看到的一样,在Yii2中几乎所有的MVC组件变化都使得Yii2更好用了,我相信这会带给开发者更好的的开发体验,毕竟Yii2 中看到了一丝丝优雅的样子!

    2.7K20

    一个程序员对架构的认识

    关键词: 系统 ,所谓系统可以简单理解为我们平时所说的应用,当然系统可以包含多个小系统,这里为了简单起见,我们就先假设只开发这样一个单体应用,包含了用户下单购买的基本功能。...与大家一起讨论后,大家认为现在阶段的首要目标是快速做出系统来,因此大家决定采用PHP来开发,并决定使用 Yii2 框架,数据库方面使用 MySQL,WebService使用Nginx。...从开始到现在,还没有写一行代码,一直在进行设计与讨论,讨论需要哪些功能,设计采用什么 结构 ,而这里的结构主要包括了两方面:逻辑的结构与物理的结构。...我理解的架构:在系统诞生之初,对系统进行的逻辑设计与物理设计。他是系统的草图,可以类比为建筑领域的设计图。...我们把所有的功能写在一份代码里,所有的数据存在一个库里,所有的代码部署在同一个Nginx上,甚至还可能我们的Nginx、MySQL都部署在同一台机器上。

    27930

    一个程序员对架构的认识

    与大家一起讨论后,大家认为现在阶段的首要目标是快速做出系统来,因此大家决定采用PHP来开发,并决定使用 Yii2 框架,数据库方面使用 MySQL,WebService使用Nginx。...关键词:框架,为了快速完成系统的开发,我们会采用一些已被业内实践确认的规范来进行,比如这里采用 YII2 框架,也就是采用了业内的 MVC 规范。...从开始到现在,还没有写一行代码,一直在进行设计与讨论,讨论需要哪些功能,设计采用什么 结构,而这里的结构主要包括了两方面:逻辑的结构与物理的结构。...我理解的架构:在系统诞生之初,对系统进行的逻辑设计与物理设计。他是系统的草图,可以类比为建筑领域的设计图。...我们把所有的功能写在一份代码里,所有的数据存在一个库里,所有的代码部署在同一个Nginx上,甚至还可能我们的Nginx、MySQL都部署在同一台机器上。

    38120
    领券