月度归档:2018年10月

PHP使用include(require)原则

一个类有几千行,拆分其中的一部分封装成一个单独的类(这里一个类一个文件),通过引入这个类文件,减少原代码的行数,增加代码可读性和可维护性。

这里有两个疑虑:
一、引入外部的类文件,用PHP那个方法include, require?
二、引入外部类,然后再实例化,性能损耗如何?

重要说明:包含外部文件路径设置,以及include_path是如何起作用可见鸟哥博客风雪之隅:深入理解PHP之require/include顺序

设置include_path
php.ini中可参考手册这里

include_path=".:/php/includes"

php-fpm.conf中

php_admin_value[include_path] = ".:/usr/local/sinasrv2/lib/php"

PHP代码中参考手册这里

set_include_path('/usr/lib/pear');

// 或使用 ini_set
ini_set('include_path', '/usr/lib/pear');

一、引入外部文件用那个方法

我们知道PHP包含并运行外部文件有4个语句结构,include、require、include_once、require_once。include(require)_once直接忽视,就当不存在,原因可见文末的使用原则。
继续阅读

phpredis zRangeByScore取全量数据用法

我们首先看下redis-cli下ZRANGEBYSCORE的用法[这里redis命令都用大写]:

ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]

返回有序集key中score在min和max直接的成员(默认闭区间[min, max],可用符号(min, (max来指定为开区间),按score递增排序。可选参数WITHSCORES决定是否要返回score。可选参数LIMIT指定返回偏移量后的数量,不指定则返回全量。
继续阅读