![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
php
文章平均质量分 51
DDDDemo
兀兀不修善 腾腾不造恶 寂寂断见闻 荡荡心无着
展开
-
LNMP+laravel配置更新后,实际代码未生效,opcache?
采用变更软链接的方式进行版本切换的代码部署方式后,上线修改配置后,代码为何会不生效原创 2022-10-27 10:02:54 · 264 阅读 · 0 评论 -
【问题解决】curl 请求接口,返回值中的浮点数被强转为整型
Thanks for stopping by !【背景】相同接口,使用 GET 方式,若直接从浏览器(Firefox 或 chrome)直接访问,返回值中的C字段,返回值为0.087966554。当使用 curl方式 请求,C字段返回值为0。【解决方法】使用 GuzzleHttp\Client 方法,如下: private function requestApi($url) { $client = new Client(); $resp原创 2020-09-17 17:54:07 · 337 阅读 · 0 评论 -
云里雾里命令模式
还没搞明白,先把可以执行的代码扔上来源代码https://github.com/domnikl/DesignPatternsPHP/blob/master/Behavioral/Command/README.rst我做了一点调整,为了自己本地跑通。代码结构Command.php<?phpnamespace TheTest;interface Comman...原创 2019-12-17 16:08:12 · 187 阅读 · 0 评论 -
seasLog学习笔记
1.seasLog在windows下的安装首先,要下载seasLog的dll文件,下载地址:http://pecl.php.net/package/SeasLog 选择对应你的系统和php版本的dll,下载;其次,把下载好的dll文件放到ext目录下;再次,配置php.ini文件,添加如下内容。extension=php_seaslog.dllseaslog.default_b原创 2016-06-22 10:54:32 · 2996 阅读 · 0 评论 -
初识 spl_autoload_register
spl_autoload_register一、首先我们看来自官网的定义版本要求:php版本为5.1.2+说明:注册给定的函数作为__autoload的实现。即自动加载函数参数说明:bool spl_autoload_register([callable $autoload_function[,bool $throw=true[,bool $prepend=false]]原创 2016-06-22 11:46:42 · 941 阅读 · 0 评论 -
PSR规范
摘录自:https://github.com/PizzaLiu/PHP-FIG目前包括以下几个规范:PSR-0(弃用)PSR-1PSR-2PSR-3PSR-41.PSR-0自动加载规范,此规范已被启用-本规范已于2014年10月21日被标记为弃用,目前新的替代规范为【PSR-4】本文是为自动加载器实现通用自动加载所需要遵循的编码规范一原创 2016-06-22 17:02:45 · 9332 阅读 · 0 评论 -
php spl库的使用(PHP标准库)【摘抄引用】
文章来源与推荐阅读:阮一峰--PHP SPL笔记 && PHP SPL使用方法和他的威力 1.SPL 是什么?SPL:standard php library php标准库,此 从php5.0起开始内置的组件和接口,在5.3以后逐渐成熟。因为内置在php5开发环境中,无需任何配置。根据官方定义,“a collection of interfaces and classe原创 2016-06-23 11:36:04 · 1016 阅读 · 0 评论 -
php 傻瓜式代码计算两个时间间隔
$stamp = (strtotime($_POST['start'])-strtotime($_POST['end']));$s = $stamp%60; //秒$m_stamp= ($stamp-$s)/60;$m = $m_stamp%60; //分$h_stamp=($m_stamp-$m)/60;$h= $h_stamp%24;$d = ($h_stamp-$h)/24;e原创 2016-08-09 10:30:07 · 741 阅读 · 0 评论 -
php SPL四种常用的数据结构
1.栈【先进后出】$stack = new SplStack();$stack->push('data1');$stack->push('data2');$stack->push('data3');echo $stack->pop();//输出结果为//data32.队列【先进先出 后进后出】 $queue = new SplQueue();$queue->e原创 2016-06-23 11:52:22 · 2924 阅读 · 0 评论 -
php-instanceof运算符
1、关于 instanceof 的一些基本概念1)、instanceof 用于确定一个PHP变量是否属于某一类class的实例:<?phpclass MyClass{}class NotMyClass{}$a = new MyClass;var_dump($a instanceof MyClass);var_dump($a instanceof NotMyClass)原创 2016-06-20 17:20:07 · 567 阅读 · 0 评论 -
通过设置nginx的client_max_body_size解决nginx+php上传大文件的问题
通过设置nginx的client_max_body_size解决nginx+php上传大文件的问题: 用nginx来做webserver的时,上传大文件时需要特别注意client_max_body_size这个参数,否则会中断在nginx的请求中,在php中是无法记录到访问的. 一般上传大文件流程: 首先修改php.ini文件: 参数 设置 说明 file_uploads on转载 2016-06-07 10:40:20 · 7541 阅读 · 0 评论 -
php设计模式-观察者模式
简言之:观察者模式(Observer),当一个对象状态发生改变时,依赖它的对象全部会收到通知,并自动更新。具体描述:一个对象通过添加一个方法(该方法允许另一个对象-观察者,注册自己)使本身变得可观察。当可观察的对象更改时,它会将消息发送到已注册的观察者。这些观察者使用该信息执行的操作与可观察的对象无关。结果是对象可以相互对话,而不必了解原因。观察者模式是一种时间系统,意味着这一模式允许某个类观原创 2016-06-28 11:25:16 · 544 阅读 · 0 评论 -
php模式-数据映射模式
概念:简言之,数据映射模式就是将对象和数据存储映射起来,对一个对象的操作会映射为对数据存储的操作。深入理解:数据映射,是在持久化数据存储层(一般是关系型数据库)和驻于内存的数据表现层之间进行双向数据传输的数据访问层。数据映射模式的目的是让持久化数据存储层,驻于内存的数据表现层,以及数据映射本身三者相互独立、互不依赖。这个数据访问层由一个映射器(或者数据访问对象)组成,用于实现数据传原创 2016-06-28 10:31:35 · 1387 阅读 · 0 评论 -
设计模式- 适配器模式
适配器模式,将截然不同的函数接口封装成统一的API。实际应用举例,PHP的数据库操作有mysql、mysqli、pdo三种,可以用适配器模式统一。类似的场景还有将memcache、redis、file、apc等不同缓存函数统一成cache适配器。适用场景:系统要求使用现有的类,而且这些类的接口不符合系统的接口。想要建立一个可以重用的类,用于与一些彼此之间没有太大关联的一些类,包括一些可原创 2016-06-27 10:54:10 · 356 阅读 · 0 评论 -
php设计模式-策略模式
概念:定义一系列的算法,把每一个算法封装起来,并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化,也成为政策模式(Policy)。Define a family of algorithms,encapsulate each one,and make them interchangeable.Strategy Lets the algorithmvary independently原创 2016-06-27 12:04:21 · 418 阅读 · 0 评论 -
php的设计模式
题外话:前几天到一家公司面试php职位,来面试我的是一位java工程师,囧。随后他随便问了几个php和java共有的名词,要我解释。当时我就渣了。其中一个就是让我描述设计模式都有哪些。虽然我很久之前隐约学习过,奈何时间久远,脑子里早就自动缓存失效。最近整理印象笔记,把这个问题在csdn上简单记录一下。首先,推荐一本书《设计模式》,本人已在网上找到电子版资料,还没开始阅读,欢迎阅读过的小伙伴前来原创 2016-05-20 11:31:48 · 726 阅读 · 0 评论 -
PHP代码优化小笔记
1.十万级以上次执行情况,方法可以被静态化,考虑声明为静态。2.echo 效率高于print3.循环之前设置循环最大次数4.销毁变量去释放内存,特别是大的数组5.避免滥用魔法函数6.require_once() /include_once()比较耗费资源7.在includes和requires中使用绝对路径8.$_SERVER['REQUEST_TIME']优于time原创 2016-05-20 10:05:34 · 302 阅读 · 0 评论 -
php 理解链式调用
php链式操作:类似如下实现$db->where()->limit()->order(); 不使用链式调用时的代码格式如下:namespace Database;class Database{ public function where($where) { } public function order($order) { } pub原创 2016-06-23 14:00:28 · 4690 阅读 · 0 评论 -
PHP魔术方法的使用
本文测试环境为 php5.5.12一、__get 、__set 将对象的属性进行接管。 一般来说,总是把类的属性定义为private,但是对属性的读取和赋值操作非常频繁,在php5+,预定义__set() 和__get()来获取和赋值其属性。即私有成员的设置和取值操作。 这两个方法需要手动添加到类中。如下: public function __s原创 2016-06-23 16:07:54 · 2050 阅读 · 0 评论 -
三个基本设计模式
本文参考慕课网《大话PHP设计模式》-第五章内容编写,视频路径为:http://www.imooc.com/video/4876推荐阅读我之前的文章: php的设计模式三种基本设计模式,包括:工厂模式,工厂方法或者类生成对象,而不是在代码中直接new单例模式,使每个类的对象仅允许创建一个注册模式,全局共享和交换对象一、工厂模式如果我们不使用工厂模式的话,当我们需要创原创 2016-06-23 17:46:42 · 1160 阅读 · 0 评论 -
正则解析
1.密码正则:/(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$/解析:(?=^.{8,}$): 必须8个以上字符(?=.*\d):必须有一个数字(?=.*\W+):必须有字母数字下划线以外的字符(?![.\n]):不能是.和换行符开头的字符串(?=.*[A-Z]):必须有一个大写字母(?=.*[...原创 2018-08-30 19:08:53 · 1542 阅读 · 0 评论 -
Centos7 PHP的安装和配置
背景:当前php版本为7.0.31,升级为php7.1.*参考链接:https://www.cnblogs.com/lightsrs/p/7899676.html1、由于linux的yum源不存在php7.x,所以我们要更改yum源:#rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch...原创 2018-08-30 16:21:14 · 2561 阅读 · 0 评论 -
科学计数法转化
原文地址:http://www.51testing.com/html/28/116228-850314.html$num = number_format(1.2313223123423E+017,'','','');//后面三个参数为空echo $num; //输出“123132231234230000”$num = number_format(1.2313223123423E+017); ...转载 2018-02-24 10:51:52 · 4296 阅读 · 0 评论 -
面向对象的S.O.L.I.D原则
S.O.L.I.D是面向对象设计和编程(OOD&OOP)中几个重要编码原则(Programming Priciple)的首字母缩写。S :SRP(The Single Responsibility Principle )单一责任原则 当需要修改某个类的时候原因有且只有一个(THERE SHOULD NEVER BE MORE THAN ONE REASON FOR A CLASS T...原创 2018-02-26 19:00:17 · 255 阅读 · 0 评论 -
mac 下添加alias
1. vim /etc/bashrc2.alias ll='ls -l'说明:ll表示别名 'ls -l'具体执行命令原创 2018-02-26 18:03:44 · 1520 阅读 · 0 评论 -
ERROR: failed to open error_log (/usr/var/log/php-fpm.log)
原文地址:http://blog.csdn.net/dracotianlong/article/details/21882915Mac OS X 10.9已经自带有php-fpm,对于有干净系统强迫症的人,可以用brewhome重装一遍。 直接在mac下执行php-fpm,会出现以下的错[plain] view plain copyDraco:etc root# php-fpm [23-...转载 2018-02-26 17:51:15 · 15652 阅读 · 0 评论 -
Mac下安装LNMP(Nginx+PHP5.6)环境
原文地址:https://avnpc.com/pages/install-lnmp-on-osx?utm_source=tuicool&utm_medium=referral安装Homebrew最近工作环境切换到Mac,所以以OS X Yosemite(10.10.1)为例,记录一下从零开始安装Mac下LNMP环境的过程确保系统已经安装xcode,然后使用一行命令安装依赖管理工具Homeb...转载 2018-02-26 17:42:53 · 507 阅读 · 1 评论 -
MAC安装Phalcon7
注:PHP >= 7.0 development resources编译安装git clone --depth=1 git://github.com/dreamsxin/cphalcon7.gitcd cphalcon7/extphpize./configuremake && sudo make install添加扩展make install后,页面返回提示如:Ins...原创 2018-02-26 11:31:52 · 634 阅读 · 0 评论 -
mac 系统切php56为php70[切php70为php71]
1.首先停掉php56brew unlink php56 【注意:可以使用brew link php56重启】2.安装php70brew install php703.安装过程提示我ruby版本太低3.1 curl -L http://get.rvm.io | bash -s stable 3.2 rvm list known3.3 rvm install 2....原创 2018-01-29 19:02:48 · 857 阅读 · 0 评论 -
用PHP实现二分法查找之递归和迭代
废话:前段时间经历过的几个面试,考官都很喜欢问的一个问题是,请写一个二分法查找的算法。我一听,嘿,简单,袖子一撸,操起键盘就扒拉扒拉。写出来,考官一看,眉头凝成小山丘,说:你这代码网上扒的吧,我。。。从接触二分法查找后,都是这么写的,有什么问题?不久前买了一本算法书,因为种种原因(C语言忘的太多了,读起来很费劲),只看了一丢丢就没再继续。今天不小心知道了迭代算法。写出来的程序跑原创 2017-06-16 19:05:18 · 1083 阅读 · 0 评论 -
后端线上服务监控与报警方案
因原文服务区报错无法打开,此处引用本文转载自网址:http://www.tuicool.com/articles/iIV3qqq。本文只作为笔记,请大家去原文处查看。一、背景1、上线期间服务稳定性观察较困难一个功能上线后,其实研发心里根本没底儿,不知道这个功能上线以后是不是真的没问题;有经验一些老同学还知道直接登录线上机器去 tail -f php.error.lo转载 2017-03-31 16:14:48 · 9218 阅读 · 2 评论 -
php中array_search和in_array有什么区别
array_search和in_array都可以用来查找值是否存在与数组中,顾名思义,一个是搜寻数组,一个是判断是否在数组,array_search和in_array有什么区别呢?以及性能上有什么差异?in_array用法pse: collapse; background-color: rgb(249, 249, 249); -webkit-text-stroke-width: 0px转载 2017-03-31 10:07:15 · 6742 阅读 · 0 评论 -
php下载大文件
php $file = @ fopen($file_dir . $file_name,"r");$filesize=filesize($file_dir.$file_name);header('Content-Description:File Transfer');header("Content-Type:application/octet-stream");header('Conten原创 2016-07-21 11:10:54 · 592 阅读 · 0 评论 -
php 数组函数
函数描述实例输入输出array()生成一个数组 array_combine()生成一个数组,用一个数组的值作为键,另一个数组作为值 range()创建并返回一个包含指定范围的元素的数组 compa原创 2016-05-19 17:05:11 · 425 阅读 · 0 评论 -
php 字符串函数
函数名描述实例输入输出trim()删除字符串两端的空格和其他预定义字符$str="\r\nHello\r\n";echo trim($str)目标字符串清除后的字符串rtrim()/chop()删除字符串右边的空格或其他预定义字符 ltrim()原创 2016-05-19 11:58:08 · 455 阅读 · 0 评论 -
汉诺塔
function move($n,$from,$to,$m){ echo "The No.$m Move Disk $n FROM $from To $to"; echo "<br>";}function hanoi($n,$from,$depend_on,$to){ static $m=1; if($n==1){ move($n,$from,$原创 2015-12-17 16:16:39 · 388 阅读 · 0 评论 -
算法题【增加中】
1、有5个人偷了一堆苹果,准备在第二天分赃。晚上,有一人遛出来,把所有菜果分成5份,但是多了一个,顺手把这个扔给树上的猴了,自己先拿1/5藏了。没想到其他四人也都是这么想的,都如第一个人一样分成5份把多的那一个扔给了猴,偷走了1/5。第二天,大家分赃,也是分成5份多一个扔给猴了。最后一人分了一份。问:共有多少苹果?我的程序$i=1;while($i++){ if(($i-1)%5==0){原创 2015-12-17 14:24:04 · 1700 阅读 · 0 评论 -
php函数小汇总(五)
1.preg_split()preg_split — 通过一个正则表达式分隔字符串 array preg_split ( string pattern,stringpattern , string subject [, int limit=−1[,intlimit = -1 [, int flags = 0 ]] ) 参数 说明 pattern 用于搜索的模式,字符串形式。 su原创 2015-12-17 13:38:12 · 345 阅读 · 0 评论 -
php函数小汇总(三)
1.array_key_exists()array_key_exists() 函数判断某个数组中是否存在指定的 key,如果该 key 存在,则返回 true,否则返回 false。 参数 描述 key 必需 规定键名 array 必需 规定输入的数组$a=array("a"=>"Dog","b"=>"Cat"); if (array_key_exists("a",$a))原创 2015-12-17 10:17:56 · 304 阅读 · 0 评论 -
PHP函数小汇总(二)[个人笔记]
1.mysqli_stmt_bind_parammysqli_stmt_bind_param(no version information, might be only in CVS) stmt->bind_param – Binds variables to a prepared statement as parameters DescriptionProcedural style: boo原创 2015-12-16 17:59:14 · 418 阅读 · 0 评论