PHP-Parser 学习笔记

缘起

最近工作上接到一个任务,要把项目代码的控制器中所有没有判断过权限的public方法找出来。我们的控制器里有一个统一的”checkAllow”方法来进行权限判断。所以任务可以归结为找到所有代码里没有调用过这个方法的public方法及其所在的类。

有了这个思路,我首先想到的就是用php中自带的”token_get_all”方法获取到代码的分词,然后进行分析。然而这个函数太底层了,什

[……]阅读全文

阿里云搭建strongswan VPN 国内外分流中转到shadowsocks

前言:前段时间新出现了几个支持IKEv2的VPN,试用了一下,感受速度嗖嗖的,不过流量贵贵的。作为一个有尊严的技术人员,怎能甘心就这样把钱轻易送给别人呢。经过一番观察,发现该vpn直连的其实是国内的阿里云。那么原理就很明确了,客户端连阿里云,然后阿里云进行国内外分流。因为阿里云机房的网络肯定杠杠的,所以不管访问国内和国外都很快。明确原理之后,我做了好一番尝试,失败了好几次之后,终于于前天调试好了。[……]阅读全文

理解 laravel 的Facade

接触Laravel一段时间,对它的一些操作的原理比较感兴趣,比如”Cache::get(‘a’,’b’)”。

这短短的一条语句背后,Laravel进行了哪些工作,让它变成现实呢?今天,我特地研究了一下它的工作原理。理解了这些原理之后,我们也可以实现自己的”Facade”。

要想操作Cache的get方法,必须先有Cache这个类。那么这个类从哪来呢?打开项目app/config/app[……]阅读全文

laravel route 重定向的一个小坑

今天做项目发现一个奇怪的现象,我的路由配置里有如下配置:

目的是无论用户输入”admin”,还是”admin/login”都能跳转到登录界面。然而现实情况是输入”admin”之后,浏览器会无限重定向,firebug记录如下:

经过一番搜索后试验,终于得出结论,[……]阅读全文

网站转 https 遇到的几个坑

心血来潮想把网站转成https的,原本以为很简单,没想到过程当中还有不少需要注意的地方,特此记录一下。

1.ssl证书申请

这个最简单了,我申请的是wosign的免费证书,一直下一步就好了,唯一需要注意的就是域名要写对。

2.nginx配置

 

ssl部分的配置是从nginx的文档里找的,协议那里原本有SSLv[……]阅读全文

搭建 vpn

今天入手了linode,网站环境搭建好后,开始弄vpn。本文参考了一下这篇文章,并结合之前的经验。

 

安装PPP,PPTP

注:32位请安装i686版本,将上面链接中的“x86_64”改为“i686”即可,请根据自己的OS安装相应的版本。

编辑pptp.conf,在最后加入以下两行代[……]阅读全文

fedora20 rime安装成功

实在是无法抑制心中的喜悦啊!

这段时间又突发奇想想折腾linux了。之前有朋友说fedora下rime输入法比较好装,于是前两天装了fedora20+gnome桌面,结果还是装不了,真是头大。

本来已经放弃折腾了,昨天看到一位朋友写的文章,又激发起我的斗志。(centos装完后,做点什么

废话不多说,今天晚上装了fedora20+mate桌面环境(本身我也不喜欢gnome3的样[……]阅读全文

php socket 编程文章推荐

一直想做一个在线聊天的程序,不免搜集一些资料。对于实时通信,目前流传广泛并且已经成熟的技术是“ajax长轮询”(具体介绍请百度,不是本文主要内容),但它毕竟还是有缺陷的。html5为我们带来了一种新的通信方式—-web socket。作为php程序员,自然要在服务端写好socket服务器程序喽,特此推荐几篇与php socket编程有关的文章及相应介绍。

1.php socket讲解与实[……]阅读全文