PHP
文章平均质量分 74
代码界吴彦祖
Stay foolish,Stay hungry
展开
-
BFPRT算法
BFPRT算法介绍BFPRT算法(中位数数组的中位数算法),是由五位发明者共同创建,主要解决TopK的问题在使用快速选择方法的最坏情况下的时间复杂度变为O(n^2)的问题,使得在最坏情况下仍为O(n).中心思想:将数组拆分成每个包含五个元素的数组,将每个数组进行排序选出中位数,这些选出中位数的数组调用BFPRT取得中位数,得出一个用于分区操作的划分值.得出的这个划分值就可以完美的避免在最坏的情况下时间为O(n^2)的情况.以下编码为了更好的理解.Top 0是指 第一小的数,以此类推.快速选择方法介绍原创 2020-06-17 09:59:22 · 278 阅读 · 0 评论 -
Yii2与Composer中的autoload
Yii2中的实现Yii2中的autoloader是通过spl_autoload_register(['Yii', 'autoload'], true, true);函数实现自动加载,就是将app中要使用的类回调到Yii类中的autoload方法中去.对于Yii系统中的类,会有映射表(其实说白了就是个数组,叫这个名字显得专业),会更快的查找到. 动态的话需要将命名空间转换为类所在的路径,这就是为什么原创 2016-12-09 08:39:18 · 1455 阅读 · 0 评论 -
PHP7新特性
据说,PHP7的新能有了较大的提升.不仅如此PHP7的升级可以给我带来更多新特性! 首先介绍一些常用的新特性.null合并运算$username = $_GET['user'] ?? 'nobody';$username = isset($_GET['user']) ? $_GET['user'] : 'nobody';上述两个代码是等价的??提供了相当方便的操作,如果不空返回自己,如果为空则返原创 2017-01-23 10:59:44 · 336 阅读 · 0 评论 -
如何实现Linux进程之间的通信?
多进程基础多进程在程序当中执行的顺序.<?php$pid = pcntl_fork();//父进程和子进程都会执行下面代码if ($pid == -1) { //错误处理:创建子进程失败时返回-1. die('could not fork');} else if ($pid) { //父进程会得到子进程号,所以这里是父进程执行的逻辑 pcntl_wait(原创 2017-08-28 19:33:04 · 553 阅读 · 0 评论 -
PHP深入理解-PHP架构布局
本文基于《PHP 内核剖析》与 《PHP7底层设计与源码实现》所记笔记。对PHP内核的深入理解有助于我们对PHP的整体认识,对于业务层初期发展我们可以只了解基本语言的逻辑就可以写出符合业务的代码,但是随着业务的发展我们通过分析源码,编写扩展,深入了解PHP内部机制,帮助我们理解PHP内部实现逻辑,更好助力业务发展.执行流程解析为Token将语法转换为抽象语法树将语法树转换OpcodesS...原创 2018-12-16 15:40:10 · 13963 阅读 · 0 评论 -
PHP深入理解-CLI与PHP-FPM
PHP-FPM模式相对于CLI比较复杂,因为PHP-FPM为常驻进程不断处理请求,因此二者只是在执行流程略有不同.PHP-FPM现在PHP广泛被使用的一种模式,用于解析FastCGI协议,执行相应的请求.PHP-FPM 三种模式staticFPM启动根据pm.max_children固定的woker进程数.dynamicFPM是启动的woker进程是变化:根据参数pm.start...原创 2019-01-06 11:14:19 · 5771 阅读 · 2 评论 -
PHP深入理解-内存管理
内存管理的主要目的:提高内存利用率,减少内存碎片,提高内存分配的速度.内存设计最大的可分配单元是chunk,大小为2MB.每个chunk分配了512个page,page的大小为4KB.zend的page_size与Linux一般的page_size大小相等.zend内部使用了mmap分配内存,不足一内存页的mmap强制以Linux的page_size进行对齐.mmap可以指定这块内存...原创 2019-01-13 11:19:16 · 844 阅读 · 0 评论 -
PHPUnit的使用
Composer 安装PHPUnitcomposer global require "phpunit/phpunit=5.5.*" 会将PHPUnit以全局的形式安装到电脑当中去 确保.bash_profile文件包含命令路径 phpunit —help可以查看命令开始创建测试用例首先要创建测试用例use PHPUnit\Framework\TestCase;class MyTest ext原创 2016-11-28 15:11:52 · 2230 阅读 · 0 评论 -
MySQL主从复制读写分离与Yii2实现
MySQL 主从复制读写分离结合Yii2框架的总结原创 2016-10-13 17:55:50 · 3660 阅读 · 0 评论 -
Redis 结合Yii2总结
reids 与 yii2原创 2016-10-14 14:07:14 · 5523 阅读 · 0 评论