- 博客(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关注的人