# BasicLibrary.PHP **Repository Path**: xiedali/BasicLibrary.PHP ## Basic Information - **Project Name**: BasicLibrary.PHP - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-01-12 - **Last Updated**: 2026-01-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 企业级的 PHP 类库 ```shell @creator: ShanDong Xiedali @emailto: 9727005@qq.com @company: HiLand & RainyTop ``` ## 配置注意事项 1. 因为功能经常更新和增强,使用的时候请注意版本信息。 2. 里面发送短信使用的 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) 或者暂时先把这个功能去掉 ```shell "require": { "alibabacloud/sdk": "^1.8" }, ``` 3. 进行单元测试时候,请按照文件 tests/_README.md的内容进行简单配置。 4. 使用数据库访问的时候,请按照文件 Utils/Config/_README.md 的内容进行配置。 5. 涉及时间问题的时候,需要在 php.ini 内设置 date.timezone 为 Asia/Shanghai ## 开发注意事项 ### 关于"判断"动作的命名 1. 用于判断类型的方法名称时用单词 determine [dɪ'tɜːrmɪn] 2. 用于判断类型的属性名称时用单词 is**** ### 关于枚举的定义 1. 枚举在某个类型(class)内用 const 定义 2. 普通枚举都统一定义在类型 Utils/DataValue/SystemEnum.php 内,用格式 "Xxx_YYY" 定义,其中 Xxx 是这个变量的应用领域,YYY 是具体的变量意义(比如 RandCategory_NUMBER,其中 RandCategory 表示当前在定义一个随机数种类,NUMBER表示定义的是数字类型的随机数种类); 3. 特别的枚举可以单独开一个文件定义,建议跟 SystemEnum.php 一样位于 Utils/DataValue/ 目录下 ### 关于类库文件的命名规则 1. 如果仅提供静态复制方法的代码逻辑,那么通常建议类型命名为 ***Helper 2. 如果提供实例方法的代码逻辑,那么建议类型命名为 ***Mate 3. 通常 ***Mate 类型不直接用 new() 构建: 1. 用 Container.get(名称) 实现单例调用(得到的同一个实例可以在项目内复用)。比如(MateContainer.get). 2. 包装在 ***Client 里面,调用静态方法。(比如 ConfigClient、DatabaseClient). ### 关于目录类型的路径定义 所有目录都要以路径分隔符结尾,这样在项目中使用的时候,可以不用做二次判断; 如果使用第三方的路径,要使用 `DirHelper.ensureEndWithPathSeparator` 进行确保。 ## 发布与使用 ### 发布到packagist 因为 BL.PHP 库在Github上,对packagist进行了自动同步,所以发布到packagist不需要做任何操作。 ### 使用 BL.PHP库 因为BL.PHP更新频度比较高,第三方项目使用本库,建议在必要的时候,执行下面的命令更新此库(打开PHPStorm最下的终端窗口执行). ```shell composer require hiland/basiclibrary.php composer update hiland/basiclibrary.php ```