php中如何优雅的写复杂if-else

phpmianshi9个月前 (12-09)php664
提前return优化逻辑结构,让正常流程走主干,非正常流程提前return,去除不必要的else优化前$a = 1; $b = 2; $c =&n...

php中使用swoole加速lumen项目-laravelS实战

phpmianshi10个月前 (12-01)php457
背景公司项目严重依赖lumen系列,代码众多,重构困难,虽然访问量变大,性能问题越来越严重,急需要提升性能,于是找到了这个项目https://github.com/hhxsv5/laravel-s下面...

Fiddler抓包设置及常见问题

phpmianshi10个月前 (11-27)php415
Fiddler抓包设置及常见问题
Fiddler简介官网:https://www.telerik.com/fiddlerFiddler是比较好用的web代理调试工具之一,它能记录并检查所有客户端与服务端的HTTP/HTTPS请求,能够...

php中容易出错的小案例

phpmianshi10个月前 (11-26)php413
sprintf用到sprintf 的时候 如果有传递的变量  如果变量可能出现 % ,则容易出错<?php $content = "%')(...

从0到1搭建基于swoole的websocket服务

phpmianshi10个月前 (11-16)php414
源码安装wget  https://github.com/swoole/swoole-src/archive/v4.5.7.tar.gz tar -xzvf ...

php中global与$GLOBAL由引用产生的区别

phpmianshi10个月前 (11-11)php449
很多人都认为global和$GLOBALS[]只是写法上面的差别,其实不然。根据官方的解释是$GLOBALS['var'] 是外部的全局变量$var本身。global $var 是外部...

laravel中嵌套事务是如何实现的

phpmianshi11个月前 (10-26)php482
关于mysql的事务嵌套关于mysql 的事务嵌套可以查看这个地址:https://dev.mysql.com/doc/refman/5.5/en/implicit-commit.html里面有这么一...

laravel中设置数据库读写分离后强制使用主库查询

phpmianshi1年前 (2020-07-27)php1112
背景在项目比较火爆,QPS比较高时,可以设置读写分离来扩容数据库,减少数据库的压力,但是有些业务可能对数据一致性要求比较高,比如支付。当支付成功时,再去查询订单状态时,如果查询走的从库,如果出现主从延...

记一次tp3.2.3因fetch导致的漏洞处理过程

phpmianshi1年前 (2020-06-04)php1558
记一次tp3.2.3因fetch导致的漏洞处理过程
问题描述:最近发现百度收录大幅度下降,并出现大量5xx错误,有些收录页面直接跳转到其他网站,如下图:问题追查1.根据以往经验首先怀疑网站被植入或者挂马      &nbs...

tp5.0.x 5.1.x 最新getshell漏洞

phpmianshi3年前 (2018-12-10)php976
概况近日thinkphp团队发布了版本更新:https://blog.thinkphp.cn/869075 ,其中修复了一处getshell漏洞。影响范围5.1.x < 5.1.315.0.x&...

从0到1搭建TP5.1+Swoole3.5.15环境

phpmianshi3年前 (2018-12-02)php495
安装首先按照Swoole官网说明安装swoole扩展,推荐新手可以直接使用pecl install swoole#会安装最新的稳定版(截至本文发布最新版本是4.0.3版本)或者源码...

PHP程序员解决问题能力的六个级别

phpmianshi3年前 (2018-06-14)php899
青铜  var_dump/die打印变量值信息单步调试是最简单粗暴有效的解决问题方法。高级一点的是使用打印日志。白银 会设置各种错误日志的记录和显示,并根据各种错误日志分析错误或者搜索别人的...

PHP7 数组的底层实现

phpmianshi3年前 (2018-06-13)php866
PHP7 数组的底层实现
PHP 数组具有的特性PHP 的数组是一种非常强大灵活的数据类型,在讲它的底层实现之前,先看一下 PHP 的数组都具有哪些特性。可以使用数字或字符串作为数组健值$arr = [1&...

PHP数组的有序性

phpmianshi3年前 (2018-06-12)php1488
在 PHP7中,我们往数组中插入元素的顺序,就决定了我们数组遍历元素的顺序。可以说,PHP7中的数组是有序的。这个有序就是指元素插入数组时的顺序,与遍历时顺序的一致性。为了实现插入与遍历的顺序一致性,...

php5数组与php7数组区别

phpmianshi3年前 (2018-06-11)php1261
php5数组与php7数组区别
PHP5数组结构体typedef struct _hashtable {       uint n...

PHP7的垃圾回收机制

phpmianshi3年前 (2018-06-10)php752
PHP7的垃圾回收机制
垃圾回收机制垃圾回收机制是一种动态存储分配方案。它会自动释放程序不再需要的已分配的内存块。 自动回收内存的过程叫垃圾收集。垃圾回收机制可以让程序员不必过分关心程序内存分配,从而将更多的精力投入到业务逻...

PHP7内存优化原理(八)

phpmianshi3年前 (2018-06-09)php1183
PHP7内存优化原理(八)
这里面其中的一些主要改变是性能提高的关键,主要有以下内容。1.zval使用栈内存在zend引擎和扩展中,经常要创建php变量,其底层就是一个zval指针,之前的php版本都是通过MAKE_STD_ZV...

PHP内核分析之深入理解字符串(七)

phpmianshi3年前 (2018-06-08)php613
一、字符串的结构struct _zend_string {     zend_refcounted_h gc; &nb...

PHP内核分析之常见变量基本结构(六)

phpmianshi3年前 (2018-06-07)php519
一、类型一览zval中的u1.v.type用来存储变量的类型,而zval.value存储的是不同类型对应的值,所以type决定value取值的地方,以下是PHP7所定义的所有类型。#define&nb...

PHP内核分析之变量zval在php5和php7中的区别(五)

phpmianshi3年前 (2018-06-06)php681
一、PHP7中的zval使用栈内存在 PHP7 中 zval 有了新的实现方式。最基础的变化就是 zval 需要的内存不再是单独从堆上分配,不再自己存储引用计数。复杂数据类型(比如字符串、数组和对象)...