有时在项目中做用户数据统计时用户所在地比访客IP更有用,但php中可以获取到访客ip,却不能直接获取到访客所在地,它需要通过第三方接口查询IP的归属地,然后把IP的归属地作为访客的所在地。
抽象类和接口的区别是php面试经常被问到的问题,也是一个经典问题。我们尽量引用官方权威的说明或者经过实验来证明本文所说的内容准确性。
抽象类和接口相似,都是比较特殊的类。抽象类是特殊一种类,而接口是一种特殊的抽象类。想要理解抽象类先要理解抽象方法。
研究了下replace的注入安全问题。
一般sql注入的过滤方式就是引用addslashes函数进行过滤。
PHP实现主域名和子域名之间cookie共享,即在子域名下可以读取主域名中设置的cookie数据,或者在一个子域名中可以读取另一个子域名设置的cookie数据。
在编写面向对象(OOP) 程序时,很多开发者为每个类新建一个 PHP 文件。 这会带来一个烦恼:每个脚本的开头,都需要包含(include)一个长长的列表(每个类都有个文件)。在 PHP 5 中,已经不再需要这样了。 spl_autoload_register() 函数可以注册任意数量的自动加载器。
1、如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍。2、$row[’id’] 的速度是$row[id]的7倍。3、echo 比 print 快,并且使用echo的多重参数(译注:指用逗号而不是句点)代替字符串连接,比如echo $str1,$str2。4、在执行for循环之前确定最大循环数,不要每循环一次都计算最大值,最好运用foreach代替。5、注销那些不用的...
项目需求,前端发起ajax请求,后端生成excel并下载,同时需要在header头中,带上token验证信息。
在文件上传中如果能显示文件上传进度,可以很直观的显示文件上传情况,尤其是在上传较大的文件时,通过上传进度条可以清晰的知道文件是否上传异常、上传了多少、大概还有多久可以上传完,对于用户来说是一个非常有用的功能。
秒杀会产生一个瞬间的高并发,使用数据库会增加数据库的访问压力,也会降低访问速度,所以我们应该使用缓存,来降低数据库的访问压力。
默认session的存储目录是1级目录,如果用户量比较大,session文件数量就比较大,我们可以设置目录数为2,使用2级目录可以提交查找和存取速度。
依赖注入是一种允许我们从硬编码的依赖中解耦出来,从而在运行时或者编译时能够修改的软件设计模式。