in Think

掰着指头数,加入SegmentFault已经一年半载。坦率地讲,刚来这边时压力颇大,也纠结了许久。一则这边的技术栈有许多我之前尚未涉及;二则对于创业公司经济状况的担忧。当然,前者对我的造成的压力更大,毕竟风险与「快速成长」同在。因此,从一开始我就以空杯心态虔诚学习,每天看书恶补知识到深夜方才离...

in PHP

前言在Java中,我们可以大量看到annotations的使用,并且,annotations也从底层得到了支持。而对于PHP而言,我们可以在一些项目中看到annotations的使用,但是众多package还是在语言层面实现(通过解析注释+反射的方式)。当然,其实在PHP RFC中也有提案,文...

in Think

最近在接触Java的Spring框架,其中提及了元编程这个概念。从Wiki的解释中,我们大概可以找到这样一条关键语句:程序能够编写程序。什么意思?举个简单的例子,我们在获取一个类的属性的时候,我们通常要给它配置get的方法去获取,但是这会显得有些繁琐。因此,许多语言都会实现一些魔术方法,比如P...

in PHP算法

前几天遇到了一个业务,用户在前台选择矩形并提交给后端,后端要对提交过来的域进行判断是否有其他用户已经勾选。如果是你,你会如何处理?我选择的一种解决方式是分别计算出两个矩形在同一轴上的距离乘以2,与二者在此轴上高度之和进行比较,前者大说明不相交。其实这么验证的原理也很简单,我们可以假设两个矩形刚...

in ThinkPHP

MVC是一个非常伟大的概念,但是最近我发现一个现象,包括我自己,我们在最开始接触MVC概念时,我们非常严谨地贯彻这种分层思想,Controller层处理业务逻辑,而Model层只是单纯的处理数据I/O。但是,伴随着我们项目体量的逐渐增大,控制器的负担也越来越大。这样一来会有一个非常明显的弊端,...