PHP-匿名类匿名函数(闭包)
1.写一个匿名函数
类中 的写法
123456789101112131415161718//第一种写法 public function qq() { $result = array_reduce([1, 2, 3, 4, 1], function ($result, $value) { return array_merge($result, array_values($value)); }, array()); return $result; }//第二种写法 public function qq2() { //将匿名函数交个一个变量 $a = function ($result, $value) { return array_merge($result, array_values($value)); }; $result = array_red ...
PHP-运行模式cli fastcgi
1.cgi全称“通用网关接口”(Common Gateway Interface), 它可以让一个客户端,从浏览器向Web服务器上的程序请求数据,是客户端和程序之间传输数据的一种标准,另外CGI独立于任何语言,所以可以用任何一种语言编写,只要这种语言具有标准输入、输出和环境变量。如php,perl,tcl等。CGI针对每个用户请求都要开单独的子进程去维护,执行结束处理掉这个进程。典型的fork-and-execute方式
2.fastcgi,根据1中cgi的特性,可以知道消耗很大,如果很多用户请求,则会申请很多个子进程。。这时候出现了FastCGI。FastCGI 像是一个常驻 (long-live) 型的 CGI,它可以一直执行着,只要激活后,不会每次都要花费时间去 fork 一次 (这是 CGI 最为人诟病的 fork-and-execute 模式)。这个是当下用的最多的了。。linux+nginx+php+mysql
FastCGI的工作原理是:
(1)、Web Server启动时载入FastCGI进程管理器【PHP的FastCGI进程管理器是PHP-FPM(php-Fas ...
PHP-理解php的Generator,yield,Iterator接口
等待更新yield解决读取大文
其他-server酱打卡网易云
等待更新
Docker-info
注册登录https://hub.docker.com/
Docker快捷键
常用: start restart stop images ps-a
带有参数的使用docker ps -a :查看最近使用的容器id
docker rm 容器id:删除某个容器
docker images
docker rmi 镜像id:删除某个镜像
docker run :
docker run -d -p 9200:9200 -p 5601:5601 nshou/elasticsearch-kibana
-d 后台运行,-p 内部端口/宿主机端口 容器id
docker exec -it /bash :进入容器
docker login -u xx -p xxx:登录
配置加速源1.阿里云:百度如何通过阿里云加速docker拉取和推送速度
2.DaoCloud :大公司,国内的。网站:https://www.daocloud.io/mirror
加速url
1Linux:curl -sSL https://get.daocloud.io/daotools/set_ ...
PHP-xhprof-性能优化
简介
安装
嵌入代码
查看分析报告
总结
名词解释Function Name:方法名称。
Calls:方法被调用的次数。
Calls%:方法调用次数在同级方法总数调用次数中所占的百分比。
Incl.Wall Time(microsec):方法执行花费的时间,包括子方法的执行时间。(单位:微秒)
IWall%:方法执行花费的时间百分比。
Excl. Wall Time(microsec):方法本身执行花费的时间,不包括子方法的执行时间。(单位:微秒)
EWall%:方法本身执行花费的时间百分比。
Incl. CPU(microsecs):方法执行花费的CPU时间,包括子方法的执行时间。(单位:微秒)
ICpu%:方法执行花费的CPU时间百分比。
Excl. CPU(microsec):方法本身执行花费的CPU时间,不包括子方法的执行时间。(单位:微秒)
ECPU%:方法本身执行花费的CPU时间百分比。
Incl.MemUse(bytes):方法执行占用的内存,包括子方法执行占用的内存。(单位:字节)
IMemUse%:方法执行占用的内存百分比。
Excl.MemUse(bytes):方法 ...
GOLANG-笔记-ArrayMapSlice
1.golang 数据类型1、基本数据类型:整形、浮点、布尔、字符串、字符2、复合数据类型:函数与指针、数组、切片、map、list、结构体、通道
1.1 函数与指针函数:func()指针:* 代表指针 & 去地址符 (引用传值)
*可以表示一个变量是指针类型 , 也可以表示一个指针变量所指向的存储单元 , 也就是这个地址所存储的值 .打印 *类型数据获取的一堆2进制数据
&对变量取地址 即取得某个变量的地址 , 如 ; &a
1.2数组Array(数组)数组是很有价值的数据结构,因为它的内存分配是连续的,内存连续意味着可是让它在 CPU 缓存中待更久,所以迭代数组和移动元素都会非常迅速。
数组所有 的key 都是int 默认从0 开始,string类型的是map和list其他,不建议使用数组,一般直接上切片
var 变量名 [数组长度]数据类型123456789101112131415161718192021 var a [4]int println(a) d := [3]int{1, 2, 4} println(d) f := [... ...
PHP-use
php use用法
1、user namespace2、use 一个trait针对于trait的即多继承
12345678910trait A{ eat()} trait B{ drink()} class C { use A; use B; }public Class D{d=new Class C()d->eat();}
当不同的trait中,却有着同名的方法或属性,会产生冲突,可以使用insteadof或 as进行解决,insteadof 是进行替代,而as是给它取别名
123456use trait1,trait2{ trait1::eat insteadof trait2; trait1::drive insteadof trait2; trait2::eat as eaten; trait2::drive as driven; }
3.闭包->匿名函数好处:节省内存 适合做回调函数
匿 ...
PHP-SPL(数据结构)
php SPL四种常用的数据结构1.栈【先进后出】
123456789<span style="font-size:18px;">$stack = new SplStack();$stack->push('data1');$stack->push('data2');$stack->push('data3');echo $stack->pop(); //输出结果为//data3</span><span style="font-size:24px;font-weight: bold;"></span>
2.队列【先进先出 后进后出】
1234567<span style="font-size:18px;">$queue = new SplQueue();$queue->enqueue("data1");$queue->enqueue("dat ...
PHP-strlen与mb_strlen
在PHP中,strlen与mb_strlen是求字符串长度的函数PHP内置的字符串长度函数strlen无法正确处理中文字符串,它得到的只是字符串所占的字节数。对于GB2312的中文编码,strlen得到的值是汉字个数的2倍,而对于UTF-8编码的中文,就是3倍(在 UTF-8编码下,一个汉字占3个字节)。
采用mb_strlen函数可以较好地解决这个问题。mb_strlen的用法和strlen类似,只不过它有第二个可选参数用于指定字符编码。例如得到UTF-8的字符串str长度,可以用mbstrlen(str长度,可以用mbstrlen(str,‘UTF-8’)。如果省略第二个参数,则会使用PHP的内部编码。内部编码可以通过 mb_internal_encoding()函数得到。
需要注意的是,mb_strlen并不是PHP核心函数,使用前需要确保在php.ini中加载了php_mbstring.dll,即确保“extension=php_mbstring.dll”这一行存在并且没有被注释掉,否则会出现未定义函 数的问题。
在strlen计算中,对待一个UTF8的中文字符,处 ...