@creator: ShanDong Xiedali
@emailto: [email protected]
@company: HiLand & RainyTop
-
因为功能经常更新和增强,使用的时候请注意版本信息。
-
里面发送短信使用的 aliyun 的短信接口,其中 composer.json 里面引入了 "alibabacloud/sdk": "^1.8" ,这个库还会引入其他的库,被引入的库 guzzle 如果是 7.X 版本,需要手动修改为 6.3。因为 7.X 版本是 php7 的语法。 (先删除掉 guzzlehttp 目录,然后把 composer.json,composer.lock 中涉及的 guzzle 从 6.3|7.0,改为 6.3;最后在composer update)
或者暂时先把这个功能去掉
"require": { "alibabacloud/sdk": "^1.8" },
-
进行单元测试时候,请按照文件 tests/_README.md的内容进行简单配置。
-
使用数据库访问的时候,请按照文件 Utils/Config/_README.md 的内容进行配置。
-
涉及时间问题的时候,需要在 php.ini 内设置 date.timezone 为 Asia/Shanghai
- 用于判断类型的方法名称时用单词 determine [dɪ'tɜːrmɪn]
- 用于判断类型的属性名称时用单词 is****
- 枚举在某个类型(class)内用 const 定义
- 普通枚举都统一定义在类型 Utils/DataValue/SystemEnum.php 内,用格式 "Xxx_YYY" 定义,其中 Xxx 是这个变量的应用领域,YYY 是具体的变量意义(比如 RandCategory_NUMBER,其中 RandCategory 表示当前在定义一个随机数种类,NUMBER表示定义的是数字类型的随机数种类);
- 特别的枚举可以单独开一个文件定义,建议跟 SystemEnum.php 一样位于 Utils/DataValue/ 目录下
- 如果仅提供静态复制方法的代码逻辑,那么通常建议类型命名为 ***Helper
- 如果提供实例方法的代码逻辑,那么建议类型命名为 ***Mate
- 通常 ***Mate 类型不直接用 new() 构建:
- 用 Container.get(名称) 实现单例调用(得到的同一个实例可以在项目内复用)。比如(MateContainer.get).
- 包装在 ***Client 里面,调用静态方法。(比如 ConfigClient、DatabaseClient).
所有目录都要以路径分隔符结尾,这样在项目中使用的时候,可以不用做二次判断;
如果使用第三方的路径,要使用 DirHelper.ensureEndWithPathSeparator
进行确保。
因为 BL.PHP 库在Github上,对packagist进行了自动同步,所以发布到packagist不需要做任何操作。
因为BL.PHP更新频度比较高,第三方项目使用本库,建议在必要的时候,执行下面的命令更新此库(打开PHPStorm最下的终端窗口执行).
composer require hiland/basiclibrary.php
composer update hiland/basiclibrary.php