首页 > PHP

PHP命名空间namespace使用之spl_autoload

在github上很多项目都不会告诉你如何include或require他们的项目,有的项目会提供一个autoload.php文件直接引用即可(如Predis),有的项目什么也不会给,甚至在README中都不会给出require的代码(如Gaufrette)。毕竟国外的程序员都已经习以为常,使用autoload来包含项目非常容易。

阅读全文

PHP命名空间namespace使用

接触PHP已经有几年的时间了,工作上基本上用不上PHP命名空间(老项目太多了),直到遇到github上的项目代码之后,才把命名空间学了一遍。

github上的php代码越来越多开始使用命名空间,与java不同,php的命名空间确实晦涩难懂,搞不好连用别人写的代码都寸步难行。

阅读全文

strrev中文版反转字符串

PHP官方出品的strrev函数只支持英文字符反转,对于中文字符会出现乱码!只能通过编码识别后进行反转,好在以前研究过大量的字符串编码截取函数,所以给strrev适配一个中文版小菜一碟。代码如下:

阅读全文

PHP中异常类Exception的应用

各类变成语言的异常处理大致类似,只是php不像java强制要求开发者捕获异常,而是淡化了异常处理来降低开发复杂度,可以看出一般的CMS框架很少使用try{}catch(){}结构编程,虽然并不会影响程序执行,但是会给某些粗心的程序埋下地雷,出了问题不好排查。所以,在PHP开发过程中还是尽量捕获异常和抛出异常,这样可以让我们的代码更健壮。

阅读全文

Linux下杀掉某个进程终极解决办法

Linux命令博大精深,对于新手来说并不是那么容易掌握,平时管理服务器的过程中积累了一些比较厉害的命令,可以方便管理。

现在很多程序都是自带守护进程的,通常派生出的子进程特别多,想要使用kill pid杀掉进程不切实际。这时下面的这几种命令就会派上用场:

阅读全文

PHP编码识别与转换

PHP可以通过iconv或mb扩展来处理不同的编码(国内主要分utf-8编码和gbk或gb2312这三种编码),可是这2个扩展不能随便使用,首先需要知道待处理字符串的编码才能使用相关的编码转换函数。

阅读全文

解决http请求字符乱码的bug

上次介绍的http请求函数足够用了,可是在某些时候从浏览器打开url是正常的,使用request_url却只得到一堆乱码,于是翻看手册发现,是由于该url所在的服务器开启了gzip压缩导致。使用curl扩展进行请求时记得开启gzip自动解压

阅读全文

PHP使用curl进行GET请求和POST请求

curl 是一个利用URL语法规定来传输文件和数据的工具,支持很多协议,如HTTP、FTP、TELNET等。PHP安装了curl的扩展之后便可以非常轻松实现http的GET请求和POST请求,还可以实现各种高级功能(例如认证,伪装referer,代理),甚至带证书访问https链接等等。但是,我们开发过程中,常常用于采集数据和发送数据,这里以乐视网的PHP接口代码作为例子。

阅读全文