自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 php 闭包与匿名函数

提到闭包和匿名函数似乎一下子就想到了 javascript ,但其实在很多语言中都有闭包的特性。但是 javascript 坑爹的变量作用域让闭包变得非常重要。而其他语言完善私有共有变量和继承让闭包似乎没有什么卵用。但是为了有点B格,还是看了看 php 的闭包。 闭包和匿名函数 闭包个人理解就是可以访问不同作用域内变量的方式。在 javascript 中,变量的作用域都是遵循从下往上的原则,而最...

2018-11-27 10:47:37 152

原创 解读 thinkphp5 源码(一):自动加载

听说 TP5 已经 RC4 了,曾经在 RC3 的时候用它写过一个小东西。官方说从 RC4 以后改动不是太大。索性读一下它的源码。然后顺便记录一下,如有错漏,请路过大神多多指正! 入口 作为单入口框架,就从入口文件看起,按照tp5文档所示的规范,入口文件应该是放在public/ 下。 那么为什么大多数要把入口放到子文件夹下呢? 这是一个小技巧。 第一为了 动静分离 ,因为现在的php框架一般...

2018-11-27 10:46:46 238

原创 php 代码复用机制--traits

php 代码复用机制--traits Published  on   03 21, 2017   in   tech with  0  comment   提到 php 的代码复用,我们可能第一时间会想到继承,但是这种单继承语言一旦派生的子类过多,那么会产生一系列的问题,比如依赖父类、耦合性太大、破坏了类的封装性。那么有没有更好的方法来实现代码复用呢? 自 PHP 5.4.0 起,PHP ...

2018-11-27 10:46:05 221

原创 某项目从3000并发到10W并发的优化记录

某项目从3000并发到10W并发的优化记录 Published  on   04 22, 2017   in   tech with  0  comment   最近在做一个某集团一个线上直播的活动,由于时间紧迫,而且项目描述不清。所以开发和部署的时候没有做特别的优化,但是第一次测试的时候问题非常大。主要出在并发上面。这里记录一下优化记录。 背景 因为是临时通知,所以从项目开始到测试...

2018-11-27 10:44:54 6666 1

原创 PHP-FPM 配置说明

FPM工作流程 fpm 全名是FastCGI进程管理器,可以参考关于FastCGI的说明:CGI、FastCGI、PHP-CGI和PHP-FPM 概念区分 fpm启动后会先读php.ini,然后再读取相应的conf配置文件,conf配置可以覆盖php.ini的配置。启动fpm之后,会创建一个master进程,监听9000端口(可配置),master进程又会根据fpm.conf/www.conf去...

2018-11-27 10:43:55 212

原创 CGI、FastCGI、PHP-CGI和PHP-FPM 概念区分

CGI 简介 CGI全称是通用网关接口(Common Gateway Interface),是外部应用程序与与服务器之间的接口标准,是在CGI程序和web服务器之间传递信息的规程。 在物力层面上、CGI是一段程序,运行在服务器上。 CGI可以用任意语言编写,主要这种语言具有标准输入、输出和环境变量 FastCGI 简介 FastCGI是一个可伸缩地、高速地在HTTP server和动...

2018-11-27 10:43:08 152

原创 PHP执行原理

php是一门应用非常简单,开发效率极高的一门语言,其弱类型的变量能省去程序员大量的定义变量、类型转换等的时间和精力。它是一种适用于web开发的动态语言。 1. php设计的原理和特点 多进程模型:这样能做到进程间互相不受影响,对于进程的资源利用更快速、便捷 弱类型语言:和强类型语言C、C++、java等语言不同,php中变量的类型并不是一开始就确定的,他是在运行时才确定的,可以隐...

2018-11-27 10:42:12 395

原创 PHP缓存之Opcode缓存

什么是Opcode缓存? 当解释器完成对脚本代码的分析后,便将他们声称可以直接运行的中间代码,也成为操作码(Operate Code, Opcode)。Opcode cache的目的是避免重复编译,减少CPU和内存的开销。但是一般动态网站的性能瓶颈都在IO操作以及数据库操作,那么Opcode缓存能够带来的优化效果是有限的。 Opcode缓存的原理是什么? 当请求PHP脚本时,会经...

2018-11-27 10:40:48 211

原创 php的生成器

如果是做Python或者其他语言的小伙伴,对于生成器应该不陌生。但很多PHP开发者或许都不知道生成器这个功能,可能是因为生成器是PHP 5.5.0才引入的功能,也可以是生成器作用不是很明显。但是,生成器功能的确非常有用。 优点 直接讲概念估计你听完还是一头雾水,所以我们先来说说优点,也许能勾起你的兴趣。那么生成器有哪些优点,如下: 生成器会对PHP应用的性能有非常大的影响 PHP代码运行时...

2018-11-27 10:35:19 199

原创 php实现链式操作的三种原理

在php中有很多字符串函数,例如要先过滤字符串收尾的空格,再求出其长度,一般的写法是: strlen(trim($str)) 如果要实现类似js中的链式操作,比如像下面这样应该怎么写? $str->trim()->strlen() 下面分别用三种方式来实现: 方法一、使用魔法函数__call结合call_user_func来实现 思想:首先定义一个字符串类StringH...

2018-11-27 10:34:11 1109

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除