30. Yii2在DetailView中使用自定义方法解析模型数据

作者:尐邪|2015-4-23 交流探讨

说明:yii2提供了足够解析模型数据的方法,但有时候我们还是需要实现一些自定义的数据格式,如果框架提供的方法不足以满足要求时,除了直接在模板中改写外,其实可以看看框架的源码,为框架增加更多的新方法。前几天在群里看到说,yii2的作者已经转go了,这个框架更新已经不在积极。

如GridView Widget中可以使用匿名方法对模型数据进行自定义格式化处理类似,DetailView Widget也提供了类似的处理方法,只是稍微繁琐一些,查看DetailView源码可以发现:

Read More

29. 正则表达式之ip地址匹配

白天和小伙伴聊起明后天就要去瓜子和蚂蜂窝面试,他说真棒,瓜子我朋友刚去过,蚂蜂窝去年我去过,没成,蚂蜂窝可是被称为望京的小阿里巴巴呢。当时问了很多Web端的东西,这方面不怎么懂。说让我写个正则,匹配邮箱和ip地址,不会写。想起前几次面试,也是同样的问题,就让写个匹配邮箱的正则,我都是空着。还问我,你不会写正则吗?恩,很少写了。像这样的正则其实是应该背下来的,虽然用的不多,但是毕竟问过好多次了。刚好想起前年读过的一本小书《正则表达式必知必会》,其中就有这篇关于ip地址匹配,当时觉得挺有趣,还抄写下来,终于从尘封的电脑文档中找出来了。

有这样一段文本:

Pinging hog.forta.com [12.159.46.200] with 32 bytes of data.

匹配出其中的ip地址,简单粗暴的处理方式是:

$pattern = '/(\d{1,3}\.){3}\d{1,3}/';

但是注意,不可以使用下面的方式:

$pattern = '/(\d{1,3}\.){4}/';

因为至少要保证ip地址的格式是以英文句号分隔的四组数字,每组数字由1个,2个或者3个数字字符构成。

Read More