php yii vendor,Yii2 Vendor中的类库

本文介绍了在Yii2框架中使用的Vendor目录下的类库,包括punycode.js用于Unicode转DNS编码,typeahead.js作为Bootstrap的自动补全插件提升搜索体验,inputmask.js用于强制用户按预设格式输入,codeception用于PHP测试,myclabs/deep-copy实现对象深拷贝,以及htmlpurifier防止XSS攻击。此外,还探讨了Yii2的action前缀、Yii::$app的应用及Gii工具的使用。在实践中,作者发现不带action的方法无法直接访问,并遇到表单数据获取问题,强调了实践中的问题解决与学习的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Vendor目录下的包,了解Yii2用了什么类库。

punycode.js - “Punycode是一个根据RFC 3492标准而制定的编码系统,主要用於把域名从地方语言所采用的Unicode编码转换成为可用於DNS系统的编码。Punycode可以防止所谓的IDN欺骗。”(百度知道)

这个库的作用应该是这样的。是一个转码的工具。

typeaheade.js - 是Bootstrap的一个autocomplete插件,我觉得很有用。例如用户在搜索栏输入p, 搜索栏下面会显示PHP。 前提当然是需要把数据准备好。autocomplete虽然是一个很小的功能,但我觉得很多网站都没做好这个小功能,可能是因为时间的关系。这个小功能对用户体验还是挺重要的。

inputmask.js - “Inputmask 是一个 jQuery 输入插件,用于创建确保让用户能够按预先定义好格式输入的文本框。这些格式可以是日期,数字,电话号码等。”(http://f2ex.cn/inputmask-jquery/)

codeception是关于PHP测试的类库,下面有base, specify 和 verify。

doctrine, instantiator。 “The instaniator is able to create new instances of any class without using the constructor or any API of the class itself:”;

应该是创建新实例的类。很有用。

ezyang, htmlpurifier. 这个一看名字就知道是html过滤器,防止XSS攻击的。很重要的库。

fzaninotto, faker。 创建假数据应用于开发时的需要。

guzzlehttp, psr7。 这个应该是新规范,百度的资料不多。“This repository contains a full PSR07 message implementation, serveral stream decorators, and some helpful functionality like query string parsing.” 然后还有Stream implementation。 这个应该是高级内容,慢慢了解。

myclabs, deep-copy. 一看就知道是深拷贝,是拷贝对象的。 Javascript里面也有深浅拷贝。这个包还说:"It is designed to handle cycles in the association graph."。

phpunit- 应该是php代码测试模块

symfony- Yii 有使用symfony的一些工具,有空的话可以讨论一些symfony,感觉也是很强大的一个框架。

yiisoft 里面是yii的一些工具。

按照文档在SiteControler里面创建actionSay方法,然后用render函数传递给视图,URL访问,成功。

然后我尝试一下把action去掉,只创建Say方法,竟然访问不了,显示Object not found。这个有趣,TP5应该不会出现这种情况。

文档里面写到:“Yii 使用 action 前缀区分普通方法和操作。 action 前缀后面的名称被映射为操作的 ID。”

Yii::$app, 这个很重要,之前看到这个都不太懂什么意思。 “Yii::$app代表应用实例,它是一个全局可访问的单例。同时它也是一个服务定位器,能提供request, response,db等特定功能的组件。” 我的理解是这个实例里面提供很多重要的功能,服务定位器接下来慢慢了解。

使用表单

刚开始创建entry.php视图文件的时候,form表格显示不正常,检查后发现 $form前面少了 = 号,导致渲染错误。

视图使用了小部件ActiveForm生成HTML表单,很强大,少编写了很多代码,Yii还有很多小部件等待我去发掘。

打算想拓展mobile的时候,生成HTML表单没问题,可是最后没显示号码出来,应该是没拿到数据的问题。以后慢慢解决。看来还是得多写不同的代码才容易发现问题。

Gii

使用CRUD Generator 代码前,一定要用 Model Generator生成相应的Model代码,否则会报错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值