
php高级
从心所愿
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
php快速查看扩展的版本信息
命令为:php --ri 扩展名。例如:php --ri memcached结果如下:php --ri memcachedmemcachedmemcached support => enabledVersion => 2.2.0libmemcached version => 1.0.18SASL support => noSessio原创 2017-03-01 17:18:33 · 16083 阅读 · 0 评论 -
PHP: 深入pack/unpack
摘要: PHP作为一门为web而生的服务器端开发语言,被越来越多的公司所采用。其中不乏大公司,如腾迅、盛大、淘米、新浪等。在对性能要求比较高的项目中,PHP也逐渐演变成一门前端语言,用于访问后端接口。或者不同项目之间需要共享数据的时候,通常可以抽取出数据层,通过PHP来访问。PHP作为一门为web而生的服务器端开发语言,被越来越多的公司所采用。其中不乏大公司,如腾迅、盛大、淘米、新浪等转载 2017-06-30 15:08:17 · 502 阅读 · 0 评论 -
set_exception_handler用法
定义和用法set_exception_handler() 函数设置用户自定义的异常处理函数。该函数用于创建运行时期间的用户自己的异常处理方法。该函数会返回旧的异常处理程序,若失败,则返回 null。语法set_exception_handler(exception_function)参数描述error_function转载 2017-08-07 17:03:20 · 2017 阅读 · 0 评论 -
php中如何使对象可以像数组一样进行foreach循环
php中如何使对象可以像数组一样进行foreach循环呢?下面小编就详细的为大家介绍一下吧!需要的朋友可以 过来参考下刚接触到题的时候,我也没有考虑到Iterator模式,试了几个一般想法,失败以后。。。。就直接去翻看了foreach的源码实现,期望发现foreach处理对象的时候是否有什么特殊性,可以做为突破口。跟踪了半天以后发现了核心逻辑中的一个奇怪的switc转载 2017-08-07 17:48:48 · 2205 阅读 · 0 评论 -
php中this,self,parent三个关键字
this,self,parent三个关键字从字面上比较好理解,分别是指这、自己、父亲。this是指向当前对象的指针(姑且用C里面的指针来看吧)self是指向当前类的指针parent是指向父类的指针(我 们这里频繁使用指针来描述,是因为没有更好的语言来表达)根据实际的例子来看看(1) this1 23 class UserNam转载 2017-08-11 18:16:02 · 295 阅读 · 0 评论 -
php重要函数
1.trigger_error()函数和set_error_handler()函数http://php.net/manual/zh/function.trigger-error.phphttp://php.net/manual/zh/function.set-error-handler.php2.原创 2017-08-12 11:17:21 · 320 阅读 · 0 评论 -
从MVC到前后端分离(REST-个人也认为是目前比较流行和比较好的方式)
摘要:MVC模式早在上个世纪70年代就诞生了,直到今天它依然存在,可见生命力相当之强。MVC模式最早用于Smalltalk语言中,最后在其它许多开发语言中都得到了很好的应用,例如,Java中的Struts、Spring MVC等框架。1. 理解MVCMVC是一种经典的设计模式,全名为Model-View-Controller,即模型-视图-控制器。其中,模型是用于封装数据的载体,例如,转载 2017-08-12 16:11:31 · 3052 阅读 · 2 评论 -
查看变量引用计数及是否引用的方法
查看变量引用计数及是否引用的方法对于PHP源码阅读过程中,变量是一个非常重要的概念,更重要的是对变量的容器ZVAL理解, 如果在无法使用*nix环境进行debug,或者不想在windows环境下折腾开发环境,你可以考虑使用下面的两个方法简单的查看变量关于引用计数及是否引用的信息debug_zval_dump函数debug_zval_dump函数是PHP自带的标准函数。它的作转载 2017-08-21 12:23:13 · 1806 阅读 · 0 评论 -
Laravel框架执行流程
俗话说知己知彼百战不怠,使用Laravel也有有一段时间了,中间也踩了很多坑,碰了很多壁,归根结底还是对Laravel的底层不太了解,以前使用Thinkphp养成的MVC的习惯,刚接触Laravel一时还没转变过来,所以最近抱着学习的态度,研究了下Laravel框架的执行流程。 Laravel虽然使用上感觉跟Thinkphp差不多,但是底层的实现方式还有框架的架构,跟Thinkphp差别还是蛮转载 2017-08-21 16:05:06 · 5258 阅读 · 1 评论 -
PHP程序员进阶学习书籍参考指南
PHP程序员进阶学习书籍参考指南@heiyelurenlastmodify: 2016/2/18【初阶】(基础知识及入门)01. 《PHP与MySQL程序设计(第4版)》 http://item.jd.com/10701892.html02. 《深入浅出MySQL 数据库开发 优化与管理维护 第2版》 http://it转载 2017-08-28 22:10:36 · 1089 阅读 · 0 评论 -
PHP declare(ticks=N); 的作用
一般用法是 declare(ticks=N);拿declare(ticks=1)来说,这句主要作用有两种:1、Zend引擎每执行1条低级语句就去执行一次 register_tick_function() 注册的函数。可以粗略的理解为每执行一句php代码(例如:$num=1;)就去执行下已经注册的tick函数。一个用途就是控制某段代码执行时间,例如下面的代码虽然最后有个死循环,但是执转载 2017-12-07 11:29:20 · 636 阅读 · 0 评论 -
beanstalkd常见问题解答
高层次角度,它是如何工作的?对于你的分布式应用来说,Beanstalkd是一个大的待办事项列表。如果有一个你想推迟的工作(报道(say),发送一封email,推送一些数据到一个缓慢的外部服务,从一个外部服务拉取数据,生成高质量图片缩略图)你放置一个job到beanstalkd,job是关于那个工作的描述。一些进程(例如:web请求处理程序)称之为producer,放置job到队列。其它进程转载 2017-05-09 15:54:39 · 2388 阅读 · 0 评论 -
beanstalkd消息队列在生产环境的应用
Beanstalkd 是一个高性能的消息队列中间件,本博文宅鸟将介绍一下这个东东的使用。一、先通过概念让大家了解Beanstalkd的特性和工作场景。 Beanstalkd 是一个轻量级消息中间件,它最大特点是将自己定位为基于管道 (tube) 和任务 (job) 的工作队列 (work-queue):Beanstalkd 支持任务优先级 (priority转载 2017-05-09 15:48:34 · 537 阅读 · 0 评论 -
消息队列:比较Beanstalkd,IronMQ和Amazon SQS
本文介绍了消息队列的概念,并讨论了三个具体的消息队列服务的优势和劣势:Beanstalkd,IronMQ和Amazon SQS。 本文所述的任何信息是正确的在撰写本报告时,可予更改。 什么是消息队列? 队列允许介绍本文介绍了消息队列的概念,并讨论了三个具体的消息队列服务的优势和劣势:Beanstalkd,IronMQ和Amazon SQS。什么是消息队列?队转载 2017-05-09 14:02:34 · 5021 阅读 · 0 评论 -
swoole扩展精句收集
1. 0.0.0.0 表示监听所有IP地址,一台服务器可能同时有多个IP,如127.0.0.1本地回环IP、192.168.1.100局域网IP、210.127.20.2 外网IP。原创 2017-02-28 14:31:24 · 616 阅读 · 0 评论 -
理解 PHP 中的 Streams
Streams 是PHP提供的一个强有力的工具,我们常常在不经意会使用到它,如果善加利用将大大提高PHP的生产力。 驾驭Streams的强大力量后,应用程序将提升到一个新的高度。下面是PHP手册中对Streams的一段描述:Streams 是在PHP 4.3.0版本被引入的,它被用于统一文件、网络、数据压缩等类文件的操作方式,为这些类文件操作提供了一组通用的函数接口。简而言之,一个转载 2017-02-21 11:45:36 · 443 阅读 · 0 评论 -
nginx 和 php-fpm 通信使用unix socket还是TCP,及其配置
前言nginx和fastcgi的通信方式有两种,一种是TCP的方式,一种是unix socke方式。两种方式各有优缺点,这里先给出两种的配置方法,然后再对性能、安全性等做出总结。TCP是使用TCP端口连接127.0.0.1:9000Socket是使用unix domain socket连接套接字/dev/shm/PHP-cgi.sock(很多教程使用路径/tmp,而路径/dev转载 2017-02-23 15:18:14 · 1273 阅读 · 0 评论 -
stream_socket_server
PHP 5)stream_socket_server - 创建一个Internet或Unix域服务器套接字描述资源stream_socket_server(字符串local_socket [摘要和错误号[,串errstr [摘要标志[,资源环境]]]])创建指定流或数据报套接字 local_socket。:该类型创建由运输决定的插座的使用标准URL格式指定 运输://目转载 2017-02-23 15:52:27 · 12944 阅读 · 0 评论 -
php常用Stream函数集介绍
stream_bucket_append函数:为队列添加数据 stream_bucket_make_writeable函数:从操作的队列中返回一个数据对象stream_bucket_new函数:为当前队列创建一个新的数据stream_bucket_prepend函数:预备数据到队列 stream_context_create函数:创建数据流上下文stream_context_g转载 2017-02-23 16:02:57 · 1456 阅读 · 0 评论 -
PHP函数pcntl_fork
pcntl_fork(PHP 4 >= 4.1.0, PHP 5, PHP 7)pcntl_fork — 在当前进程当前位置产生分支(子进程)。译注:fork是创建了一个子进程,父进程和子进程 都从fork的位置开始向下继续执行,不同的是父进程执行过程中,得到的fork返回值为子进程 号,而子进程得到的是0。说明int pcntl_fork ( void )转载 2017-02-23 16:09:23 · 2265 阅读 · 0 评论 -
Php: BCMath
//对于浮点型的数据需要用不同的方法去解决。下面是一些方法Php: BCMathbc是Binary Calculator的缩写。bc*函数的参数都是操作数加上一个可选的 [int scale],比如string bcadd(string $left_operand, string $right_operand[, int $scale]),如果scale没有提供,就用bcscale的缺转载 2017-03-15 10:23:34 · 3573 阅读 · 0 评论 -
curl: (60) SSL certificate problem: unable to get local issuer certificate 错误
今天同事做微信分享时,碰到如下SSL certificate problem: unable to get local issuer certificate。的错误信息。此问题的出现是由于没有配置信任的服务器HTTPS验证。默认,cURL被设为不信任任何CAs,就是说,它不信任任何服务器验证。因此,这就是浏览器无法通过HTTPs访问你服务器的原因。解决此报错有2种处原创 2017-05-03 16:35:12 · 107513 阅读 · 2 评论 -
Laravel之Monolog全解析
Laravel是怎样使用monolog的lv中最常见使用日志的方式:\Illuminate\Support\Facades\Log::error(__CLASS__ . __FUNCTION__ . " xxx failed! $p1 $p2");用这个例子来分析一下。 首先,看一下\Illuminate\Support\Facades\Log这个lv的门面类。<?phpnam转载 2017-05-03 16:38:19 · 1248 阅读 · 0 评论 -
laravel框架monlog配置
我的laravel框架版本是5.2,monlog配置是自定义的。参考laravel学院:Laravel目前支持四种日志处理器:single —— 将日志记录到单个文件中。该日志处理器对应Monolog的StreamHandler。daily —— 以日期为单位将日志进行归档,每天创建一个新的日志文件记录日志。该日志处理器 对应Monolog的RotatingFileHand原创 2017-05-03 16:59:26 · 3028 阅读 · 0 评论 -
php合并数组array_merge和[+]号的区别
最近在做表格导出的时候,用到了合并数组,所以做一下总结。参考官方文档 http://php.net/manual/zh/function.array-merge.php。先说 array_merge这种方式:文档这样介绍:如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。如果只给了一个数组原创 2018-01-08 10:58:09 · 1486 阅读 · 0 评论