![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PHP
文章平均质量分 53
你去了哪里
这个作者很懒,什么都没留下…
展开
-
责任链模式
使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系,将这些对象连成一条链,并沿着这些链传递该请求,直到有一个对象处理它为止。/** * 定义抽象责任链类,使用$successor保存后继链条 * Class Handler * @package Phinex\DesignMode\DutyChain */abstract class Handler{ protected $successor; public function setSuccessor(原创 2022-02-08 20:36:54 · 130 阅读 · 0 评论 -
phpexcel导出数据乱码
使用PHP导出excel文档,有时候莫名其妙就会出现导出的数据乱码,现在推荐一个万能修补大法,话不多说,直接上代码:核心就是在处理完数据之后,输出excel文件之前 添加 ob_end_clean()函数;具体见示例代码,此处只罗列部分代码:foreach ($licenseList as $key => $item) { $objPHPExcel->setActiveSheet...原创 2020-01-09 10:23:33 · 846 阅读 · 0 评论 -
php7新特性的理解和比较
1:null合并运算符(??):如果变量存在且值不为null,它就会返回自身的值,否则返回它的第二个操作数。//php7以前:if判断if(empty($_GET['param'])){ $param = 1;}else{ $param = $_GET['param'];}//php7以前 三元运算符$param = empty($_GET['param']) ? 1 : $_...原创 2019-12-11 15:28:02 · 150 阅读 · 0 评论 -
php匿名函数和闭包的理解
添加链接描述原创 2019-12-09 16:24:45 · 103 阅读 · 0 评论 -
dotenv - php版本的.env
phpdotenv扩展地址:添加链接描述通过.env加载环境变量并且能够自动通过getenv(),ENV和_ENV和ENV和_SERVER自动调用。为什么是 .env?你不能在代码中存储任何的 敏感/账号 数据. 存储 在环境中存储配置 是 12-factors的一项规则. 在部署中可能变化的所有的内容 – 诸如数据库认证或者第三方服务的认证应该从代码中剥离出来.也就是环境变量的概念.广...原创 2019-12-04 10:30:49 · 398 阅读 · 0 评论 -
php字符串转义addslashes与stripslashes
php的字符串向数据库进行写入时,为避免数据库错误,需要对特殊字符进行转义,这些特殊字符包括单引号、双引号、反斜线与null字符。addslashes()函数会对特殊字符加上转义字符,返回一个字符串。$str = "Is your name O'reilly?";echo addslashes($str); // 输出:Is your name O\'reilly?注意:默认情况下,p...原创 2019-12-03 09:48:44 · 213 阅读 · 0 评论 -
foreach里取别的表里数据的常用方法
从orders表里取出数据,然后去distribution表和distribution_real表取路区和站点的名称。方法一:傻逼做法直接循环orders数据,然后在循环里写sql,去取自己需要的数据。foreach($orders as $order){ $distributionId = $order['distribution_id']; $sql = "select name f...原创 2019-10-22 08:51:07 · 529 阅读 · 0 评论 -
正则表达式
正则表达式匹配连续相同字符:如:匹配字符串中连续出现2个相同的字符:abcaaa11223 ([0-9a-zA-Z])\1 能匹配出aa1122匹配字符串中连续出现3个相同的字符:abcaaa11223 ([0-9a-zA-Z])\1{2} 能匹配出aaa解释:正则表达式中的小括号()是代表分组的意思,如果在其后出现\1则是代表与第一个小括号中要匹配的内容相同。注意:\...原创 2019-09-04 17:48:25 · 94 阅读 · 0 评论 -
API接口开发规范
整体规范建议采用Restful方式来实施。协议:API与用户的通信协议,应该使用https协议,确保交互数据的安全传输。域名:应该尽量将API部署在专用域名下。如:https://api.example.com。api版本控制:方法一:将API的版本号放入URI,如:https://api.example.com/v1。方法二:将版本号放在http头信息中。这种方法不如放入url中方便和...原创 2019-06-01 09:57:00 · 992 阅读 · 1 评论 -
接口幂等性
1:接口调用存在的问题:现在的系统大多拆分为分布式SOA,或者微服务,一套系统中包含了多个子系统服务,而一个子系统服务往往会去调用另一个服务,而服务调用服务无非就是使用RPC通信或者restful,既然是通信,那么就有可能在服务器处理完毕后返回结果的时候挂掉,这个时候用户端发现很久没有响应,那么就会多次点击按钮,那么请求就会有多次,那么处理数据的结果是否要统一呢?那是肯定的!尤其在支付场景。2...原创 2019-05-30 15:06:43 · 898 阅读 · 0 评论 -
记一则trim截取中文错误
$district = '徐汇区'; var_dump(trim($district,'区'));//��汇 var_dump(preg_replace('/区/','',$district));//徐汇去除中文时最好不要用trim,而是用preg_replace。原创 2018-11-27 10:42:49 · 293 阅读 · 0 评论 -
true/false在网络上传输
任何数据在网络上传输时都是字符串。比如true、false在网络上传输后,在服务端接收,接收到的数据是’true’、‘false’,因此不能用下面的方式进行真/假的判断,如:$bool = GET[′bool′];//前端传输的是falseif(_GET['bool'];//前端传输的是falseif(GET[′bool′];//前端传输的是falseif...原创 2018-12-27 09:06:58 · 631 阅读 · 0 评论 -
php导出excel(xls或xlsx)(解决长数字显示问题)
来源:https://www.cnblogs.com/tujia/p/5999806.html格式选择:需要导出xls的话,用:header(‘Content-Type:application/vnd.ms-excel’);需要导出xlsx的话,用:header(‘Content-Type:application/vnd.openxmlformats-officedocument.spr...原创 2019-01-25 13:21:35 · 1705 阅读 · 1 评论 -
PhpExcel读取时间日期
们使用PHPExcel读取excel文件后发现,时间都是类似于这样的数字:41890.620138889,那么如何转换成正常的时间,PHPExcel给了处理方式:处理方式:PHPExcel_Shared_Date::ExcelToPHP(“要转换的时间”)date=date(′Y/m/d′,PHPExcelSharedDate::ExcelToPHP(date=date('...原创 2019-01-25 13:30:26 · 2473 阅读 · 1 评论 -
php的bc函数遇到的坑
$arr = array(array(‘price’=>array(‘price’=>‘13.8’),‘num’ => ‘1’),array(‘price’=>array(‘price’=>‘12.8’),‘num’ => ‘1’),array(‘price’=>array(‘price’=>‘13.8’),‘num’ => ‘1’),...原创 2019-03-26 14:00:24 · 873 阅读 · 0 评论 -
php杂谈
1:什么是队列?队列是先进先出的线性表,队列只允许在后端进行插入操作,在前端进行删除操作。一般情况下,在并发请求又要保证事务的完整性的时候就会用到队列。2:对于一些存在阻塞的io密集操作,比如上传操作,可以设立单独的upload进程池,利用php-fpm提供的池的隔离性,来分离计算密集行操作。可以减少阻塞对整个php应用的影响。如:nginx.conflocation = /curl.p...原创 2019-05-02 19:20:33 · 198 阅读 · 0 评论 -
curl中的坑
问题:用curl方法向远端服务器发请求,如果成功,远端服务器会返回数据,对方要求用application/x-www-form-urlencode的请求头传输请求参数的数据。一开始用的是:$header = array();header[]=′application/x−www−form−urlencode′;curlsetopt(header[] = 'applicatio...原创 2019-05-05 14:16:02 · 307 阅读 · 0 评论 -
深度理解php的preg_quote()函数
php手册上说,preg_quote()函数的作用是转义正则表达式字符,它一般是和preg_replace()函数一起使用。作用:在匹配的字符中有正则表达式字符的时候使用,作用是转义正则表达式字符(向正则表达式语法中的字符前增加一个反斜线,如very会被转义成*very*)。如下例子,在需要匹配的字符very中,有特殊字符*,如果不转义,则无法正常匹配到very(程序会把当作正则符号),因此...原创 2019-05-20 09:16:23 · 371 阅读 · 0 评论 -
php反射
php的反射API功能非常的强大,它可以将一个类的详细信息获取出来,比如:类、方法、属性、参数和注释等,其功能十分强大,经常用于高扩展的PHP框架,自动加载插件,自动生成文档,甚至可以用来扩展PHP语言。由于它是PHP內建的oop扩展,为语言本身自带的特性,所以不需要额外添加扩展或者配置就可以使用。我们可以通过反射API编写一个类来动态调用Module对象,该类可以自由加载第三方插件并集成进已有...原创 2019-05-20 15:14:04 · 472 阅读 · 0 评论 -
php的依赖注入
什么是依赖注入?依赖注入就是不是我自身的,却是我需要的,也是我所依赖的。class Boy{ private $girl; public function __construct(Girl $girl) { $this->girl = $girl; }}class Girl{}//这里的Boy类就强依赖Girl$boy = new Boy(new Girl(...原创 2019-05-21 07:56:52 · 303 阅读 · 0 评论 -
工作中常用php函数
/** * 判断是否是微信浏览器 * * @return bool */ protected function isWeiXinBrowser() { $userAgent = $this->request->getUserAgent(); return (false !== stripos...原创 2019-05-13 07:41:54 · 93 阅读 · 0 评论 -
PHP实用函数:stream_context_create
**PHP实用函数:stream_context_create**有时候,我们需要在服务器端模拟post/get请求,也就是在php程序中去实现模拟,该怎么做呢?或者说,在php程序里,给你一个数组,如何将这个数组post/get到另一个地址呢?当然,实用curl很容易办到,那么,不使用curl库又该怎么办呢?其实,在php程序里已经有相关的函数了,它就是strea...原创 2018-11-19 19:58:38 · 5695 阅读 · 0 评论