
php
飞鱼-谢
精通php、golang、c/c++
展开
-
php错误及异常捕捉
在实际开发中,错误及异常捕捉仅仅靠try{}catch()是远远不够的。所以引用以下几中函数。a) set_error_handler一般用于捕捉 E_NOTICE 、E_USER_ERROR、E_USER_WARNING、E_USER_NOTICE不能捕捉:E_ERROR, E_PARSE, E_CORE_ERROR, E_CORE_WARNING, E_COMPILE原创 2015-09-04 23:13:57 · 711 阅读 · 0 评论 -
IO复用
IO复用概念介绍 IO复用可以让单进程同时监听大量文件描述符的技术,非常适用于IO密集型应用.阻塞与非阻塞 在介绍IO复用技术之前,先介绍一下阻塞和非阻塞,在我们前几节的WEB服务器中,调用socket_accept函数会使整个进程阻塞,直到有新连接,操作系统才唤醒进程继续执行。而非阻塞模式, stream_socket_accept的行为就不一样了,如果没有新连接,不会原创 2018-01-11 15:52:13 · 298 阅读 · 0 评论 -
深入理解php底层:php生命周期
1、PHP的运行模式: PHP两种运行模式是WEB模式、CLI模式。无论哪种模式,PHP工作原理都是一样的,作为一种SAPI运行。1、当我们在终端敲入php这个命令的时候,它使用的是CLI。它就像一个web服务器一样来支持php完成这个请求,请求完成后再重新把控制权交给终端。2、当使用Apache或者别web服务器作为宿主时,当一个请求到来时,PHP会来支持完转载 2017-02-15 23:33:41 · 276 阅读 · 0 评论 -
PHP容易出错点:PHP中的数字与字符串比较
PHP中的比较运算符有点诡异,很容易出错,现列出比较规则:1、当两个字符进行大小比较时,是比较着这两个字符的ASCII码大小——这条很容易理解。2、当两个字符串进行大小比较时,是从第一个字符开始,分别比教对应的ASCII大小,只要从从某个对应位置开始,其中一个字符串的当前位置字符大于另一个字符串对应位置字符,即直接判别出这两个字符串大小,如'ba'>'az'——这条其实大家也都知道原创 2017-02-17 12:55:45 · 2564 阅读 · 0 评论 -
php实现验证码的识别(初级篇)
近期研究一些突破验证码方面的知识,记录下来。一方面算是对这几天学习知识的总结帮助自己理解;另一方面希望对研究这方面的技术同学有所帮助;另外也希望引起网站管理者的注意,在提供验证码时多些考虑进去。由于刚刚接触这方面的知识,理解比较浅显,有错误再所难免,欢迎拍砖。验证码的作用: 有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试。其实现代的验证码一般是防止机器批量注册的,原创 2016-08-29 09:51:04 · 746 阅读 · 0 评论 -
Header函数和PHP_AUTH_USER做用户验证
在做爬虫的时候看到的一个函数function auth_login($auth_uname, $auth_pw){ // If no username and password was set in the conf if ($auth_uname == "" || $auth_pw == "") { echo "Login for phpcrawl-testinterfac原创 2016-05-05 00:43:27 · 2043 阅读 · 0 评论 -
利用Access-Control-Allow-Origin响应头解决跨域请求
传统的跨域请求没有好的解决方案,无非就是jsonp和iframe,随着跨域请求的应用越来越多,W3C提供了跨域请求的标准方案(Cross-Origin Resource Sharing)。IE8、Firefox 3.5 及其以后的版本、Chrome浏览器、Safari 4 等已经实现了 Cross-Origin Resource Sharing 规范,实现了跨域请求。在服务器响应客户端的时候,带上原创 2016-05-15 16:35:24 · 2155 阅读 · 0 评论 -
php反射例子
<?phpclass Person { /** * For the sake of demonstration, we"re setting this private */ private $_allowDynamicAttributes = false; /** type=primary_autoincrement */ protected $id = 0; /*原创 2016-04-15 15:03:13 · 420 阅读 · 0 评论 -
PHP SPL的使用
在许多框架和MVC中都能够看到PHP SPL的身影, PHP SPL 在很多实际应用都占了很大的比重双向链表?12345678910111213141516171819202122原创 2015-10-27 09:29:03 · 515 阅读 · 0 评论 -
php反射例子
<? class a{ private $b; } foreach (get_declared_classes() as $class) { $reflectionClass = new ReflectionClass($class); if($reflectionClass->isUserDefined()) { Reflection::export($reflect原创 2015-10-25 22:30:15 · 411 阅读 · 0 评论 -
php设计模式
一.单例模式所有单例模式至少拥有的三要素1.它们必须拥有一个私有构造函数2.它们必须拥有一个类的实例的静态成员变量3.它们拥有一个访问这个静态变量的静态方法补充:最好置类的克隆方法为空方法体,并且私有class Databases{ private $_db; static $_instance; private function __construc原创 2015-10-25 13:44:20 · 388 阅读 · 0 评论 -
PHP编码的几个最佳实践
1.用逗号连接echo字符串$name='orange';$address='BeiJing';echo 'Hi,'.$name.'! Welcome to '.$address;//慢echo 'Hi,',$name,'! Welcome to ',$address;//快,建议方式原因可以查看两者的opcode,用逗号的方式和用点号方式的opcode如下2.使转载 2015-09-06 09:49:18 · 616 阅读 · 0 评论 -
workerman 进程间关系
最近在看workerman 的源码,以加深对进程管理,信号量机制,网络编程方面的理解,workerman 进程间的个关系如下。原创 2018-01-18 15:43:04 · 1516 阅读 · 0 评论