PHP
文章平均质量分 62
xxx9001
孤独是人生的常态
展开
-
巩固一下,面向对象的设计原则
面向对象设计原则:OOPS(Object-Oriented Programming System,面向对象的程序设计系统),面向对象编程的特性“抽象”、“封装”、“多态”、“继承” 等。1.单一职责 SRP(The Single Responsibility Principle) 一个类或接口的职责明确且唯一,即“高内聚,低耦合”;2.开闭原则 OCP(The Open Clos...转载 2020-02-25 10:16:14 · 227 阅读 · 0 评论 -
PSR代码规范
代码必须使用4个空格的缩进,而不是制表符 在namespace声明下面必须有一个空行,并且use声明代码块下面必须有一个空行 类的左花括号必须放到下一行,右花括号必须放到类主体的下一行 方法的左花括号必须放在下一行,右花括号必须放在方法主体下面 所有的属性和方法必须有可见性(public,protected,private)声明;abstract和final声明必须在可见性之前;stati...转载 2020-02-17 18:48:31 · 445 阅读 · 0 评论 -
转:YII2解决POST数据时因启用Csrf出现的400错误
很久没有写前端了,备注一下。第一种解决办法是关闭Csrfpublic function init(){ $this->enableCsrfValidation = false;}第二种解决办法是在form表单中加入隐藏域<input name="_csrf" type="hidden" id="_csrf" value="<?= Yii::$app...转载 2020-02-10 12:44:20 · 262 阅读 · 0 评论 -
docker php-fpm 安装redis 扩展
直接RUN docker-php-ext-install redis 失败,google得到:ENV PHPREDIS_VERSION 3.0.0RUN mkdir -p /usr/src/php/ext/redis && curl -L https://github.com/phpredis/phpredis/archive/$PHPREDIS_VERSION.tar....转载 2018-08-21 20:33:19 · 4984 阅读 · 0 评论 -
一次php fopen,fwrite,fclose和file_put_contents性能的测试
file_put_contents,不仅可以传入字符串,还可以传入对象、资源、数组等其他类型,函数内部会进行转换并且校验,还会检查文件写锁,而fwrite只接收字符串参数并且不进行判断,直接向传入的file_handle写入数据,但是他们最终都是通过php_stream系列的函数进行文件写入,调用的是系统的低层io,posix write,所谓文件缓存,只是让数据保存在内存中,每次截取8k大小写入...原创 2018-06-10 11:53:20 · 1621 阅读 · 0 评论 -
一次php5.6的error_log函数跟踪
笔记有点乱,先记下,改天再整理。PHP:error_log(self::formatMessage(), self::$_fileLog, self::$_logFilePath . date('YmdH'));转换后:formatMessage():$this->_logParams['time'] = date("Y-m-d H:i:s");//Data_Util::getmicroti...原创 2018-06-10 03:43:34 · 789 阅读 · 0 评论 -
yield 改写遍历目录方法,内存使用好低啊
<?php/** * Created by PhpStorm. * User: Administrator * Date: 2017/4/27 * Time: 18:07 */ini_set('max_execution_time',0);function read_dir(){ $dir_path = './contact/'; $dir_handle = op原创 2017-04-27 18:23:55 · 729 阅读 · 0 评论 -
PHP CLI 参数解释
当用户打开php页面时,服务端便执行PHP的命令并将执行结果发送至用户的浏览器中,这类似于ASP和CoildFusion,PHP可以运行在WINDOWS和多种版本的UNIX上。除了能够操作您的页面外,PHP还能发送HTTP的标题。 您可以设置cookie,管理数字签名和重定向用户,而且它提供了极好的连通性到其它数据库(还有ODBC),集成各种外部库来做用PDF文档解析XML的任何事情。那你还知转载 2017-04-27 17:25:48 · 595 阅读 · 0 评论 -
学习一下 冒泡排序
<?php$array = array(7,1,2,8,4,5,6,0,22,9);$len=count($array);for ($i=0;$i<$len;$i++) { for ($j=$len-1;$j>$i;$j--) { if ($array[$j-1] > $array[$j]) { $tmp=$array[$j]; $array[$j]=$a转载 2017-05-05 10:09:12 · 290 阅读 · 0 评论 -
Yii2 启动跟踪记录
1、 YII2.PHP 创建Yii::$classMap , Yii::$container2、new web\Application3、base\Application => __construct()3.1 配置处理 $this->preInit($config);3.2 加载错误处理钩子 $this->registerErrorHandler($config);3.3原创 2017-05-01 21:40:13 · 586 阅读 · 0 评论 -
PHP访问类私有属性
除了常用的 __get 方法外,记录一个反射API的方法。/** * set class's public/private/protected property * * @param object $class * @param string $variant property name * @param string $value value * * @return arr转载 2017-03-13 13:40:29 · 2696 阅读 · 0 评论 -
PHP读取文件内容的五种方式
php读取文件内容的五种方式分享下php读取文件内容的五种方法:好吧,写完后发现文件全部没有关闭。实际应用当中,请注意关闭 fclose($fp);--php读取文件内容:-----第一种方法-----fread()--------<?php$file_path = "test.txt";if(file_exists($file_path)){$fp转载 2017-03-05 01:36:17 · 1204 阅读 · 0 评论 -
windows 上使用 zephir 开发php扩展
转自:http://www.widuu.com/archives/04/1189.html0x01 介绍官方上提供了 ubuntu 的,也就是说基本版本的 linux 版本都可以哈,我上一篇文章介绍了 Docker 和 MAC OS 上开发 PHP 扩展,这一章很简单,就是开发windows 上的 php 的扩展。0x02 环境大家可以根据我转载 2016-08-06 21:07:32 · 1852 阅读 · 0 评论 -
windows开发php扩展
windows环境(我个人的)windows 8.1 企业版(mac os Boot Camp安装的)Visual Studio 2012 版本msysgit (http://msysgit.github.io/ 下载)php-sdk-binary-tools-20110915.zip (http://windows.php.net/downloads/php-sdk/下载)转载 2016-08-06 21:06:13 · 1273 阅读 · 0 评论 -
Zephir入门 —— 语法篇
转自:https://segmentfault.com/a/1190000003058736概述Zephir的语法跟PHP很相似,所以这里不会把官网的文档照搬过来翻译一遍,而是会把一些Zephir相较于PHP比较特别的语法挑出来讲一下。如果想要要完整学习Zephir的语法,没有比官网的文档更好的地方了。基本语法Zephir的文件后缀名为zep,每个文件都必须转载 2016-08-04 21:42:01 · 1106 阅读 · 0 评论 -
PHP YIELD使读取大文件变成可能
例子:摘自PHP手册for the protection from the leaking of resources see RFC https://wiki.php.net/rfc/generators#closing_a_generatorand use finnalysample codefunction getLines($file) { $f =转载 2016-07-05 23:52:15 · 2724 阅读 · 0 评论 -
如何使用PHP计算上一个月的今天
遇到一个问题,求上一个月的今天。 最开始我们使用 strtotime(”-1 month”) 函数求值,发现有一个问题,月长度不一样的月份的计算结果有误。 比如:2011-03-31,得到的结果是2011-03-03。我们先不追究什么问题,先看如何解决问题。 此时,想起PHP中有一个mktime函数,于是自己写了如下代码:复制代码代码如下:echo date("Y-m-转载 2014-10-09 10:59:13 · 454 阅读 · 0 评论