hiland / basiclibrary.php
RainyTop & Hiland 的 PHP 基础库。
1.1.1
2022-01-08 08:55 UTC
Requires
- php: ^5.3.3 || ^7.4
- ext-mbstring: *
- symfony/options-resolver: ^5.4
- topthink/think-orm: 2.*
Requires (Dev)
- phpunit/phpunit: 9.*
This package is auto-updated.
Last update: 2024-09-30 05:07:19 UTC
README
@creator: ShanDong Xiedali
@emailto: 9727005@qq.com
@company: HiLand & RainyTop
配置注意事项
-
由于功能经常更新和增强,请在使用时注意版本信息。
-
其中发送短信使用的是 aliyun 的短信接口,在 composer.json 中引入了 "alibabacloud/sdk": "^1.8",此库还会引入其他库,如 guzzle。如果 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" },
-
进行单元测试时,请按照 test/_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
进行确保。