PHP_CodeSniffer安装和使用教程

PHP_CodeSniffer是一款自动化的PHP代码规范检查工具。 CodeSniffer内置MySource、PEAR、PHPCS、PSR1、PSR2、Squiz和Zend等几套代码规范。 当然,你也可以新增自己的代码规范。 PHP_CodeSniffer 仓库地址:https://github.com/squizlabs/PHP_CodeSniffer PHP_CodeSniffer 版本发布地址:http://pear.php.net/package/PHP_CodeSniffer PHP…

MySQL Explain 解析

一、语法 explain < table_name > 例如: explain select * from t3 where id=3952602; 二、explain输出解释 +----+-------------+-------+-------+-------------------+---------+---------+-------+------+-------+ | id | select_type | table | type  | possible_keys     | key     | key_len | ref   | rows | Extra | +---…

docker-compose ports和expose的区别

docker-compose中有两种方式可以暴露容器的端口:ports和expose。 1 ports ports暴露容器端口到主机的任意端口或指定端口,用法: ports: - "80:80" # 绑定容器的80端口到主机的80端口 - "9000:80" # 绑定容器的80端口到主机的9000端口 - "443" # 绑定容器的443端口到主机的任意端口,容器启动时随机分配绑定的主机端口号 不管是否指定…

Docker LNMP环境搭建

本文介绍如何使用Docker容器,快速部署LNMP环境。 最终完成的环境我们称为:DNMP(即 Docker + Nginx + MySQL + PHP)。 最终实现一键部署LNMP环境的目的,该环境特点: 完全开源 支持多版本PHP切换(PHP5.4、PHP5.6、PHP7.2...) 支持绑定任意多个域名 支持HTTPS和HTTP/2 PHP源代码位于host中 MySQL data位于host中 所有配置文件可在ho…

PHP下载远程文件到指定目录

PHP用curl可以轻松实现下载远程文件到指定目录: <?php class Download { public static function get($url, $file) { return file_put_contents($file, file_get_contents($url)); } public static function curlGet($url, $file) { $ch = curl_init(); curl_setopt($ch, CURLOPT_POST, 0); curl_setopt($ch,CURLOPT_URL,$url); cur…

MySQL批量修改

mysql更新语句很简单,更新一条数据的某个字段,一般这样写:  UPDATE mytable SET myfield = 'value' WHERE other_field = 'other_value'; 如果更新同一字段为同一个值,mysql也很简单,修改下where即可: UPDATE mytable SET myfield = 'value' WHERE other_field in ('other_values'); 这里注意,other_values是一个逗号,分隔的字符…

为什么in_array(0, ['a', 'b', 'c'])返回true

在PHP中,数据会自动转换类型后再进行比较。 这样可能会导致一些费解的现象: in_array(0, ['a', 'b', 'c']) // 返回bool(true),也就相当于数组中有0 array_search(0, ['a', 'b', 'c']) // 返回int(0),也就是第一个值的下标 0 == 'abc' // 返回bool(true),也就相当于相等 这两个表达式都返回true。 直观上看,0没有在数组['a', 'b', …

PHP常用命令

一般情况下,PHP命令行可能很少使用。 但是一旦使用,其实工作效率还提高不少。 比如,不用写一个文件来执行phpinfo()来获取PHP的版本、安装的扩展、php.ini位置。 $ php -v # 查看版本号 $ php -m # 查看安装的模块 $ php -i # 查看PHP信息,相当于执行:phpinfo() $ php -i |grep php.ini # 查看配置文件信息 $ php --ini # 显示配置…

何时重构代码最合适?

最近有很多关于重构的讨论或问题出现在清单和会议上,这些讨论和问题围绕着是否要将重构的“故事”放入积压工作中。即使“技术债”变多,这还是一个毋庸置疑的坏主意。原因如下: 项目开始的时候,代码是空白的。工作的区域平坦干净,生活是美好的,这个世界是属于我的。一切看起来都那么美好。 我们可以轻松顺利地建立起功能,哪怕我们似乎…