simplecomplex / utils
依赖注入容器抽象;简化PHP CLI;各种基本工具。
Requires
- php: >=7.0
- ext-ctype: *
- psr/container: ^1.0
- psr/log: ^1.0
Requires (Dev)
- phpunit/phpunit: ^6.5
Suggests
- ext-mbstring: PHP native multibyte features.
- simplecomplex/inspect: Utils' CLI command features do NOT work without Inspect, however CliEnvironment do.
This package is auto-updated.
Last update: 2024-08-29 04:33:23 UTC
README
主要特性
依赖注入容器抽象
如维基百科总结的
讽刺的是,依赖注入可能鼓励对依赖注入框架的依赖。
Dependency
是一个简单工具,用于减轻特定注入容器的依赖。
封装PSR-11或Pimple容器,或创建自己的轻量级PSR-11容器。
简化PHP CLI(命令行/控制台)的使用
CliCommand
+ CliCommandInterface
以简单的方式定义PHP CLI命令,并自动生成--help输出。
CliEnvironment
- 解析CLI输入参数和选项
- 映射到
CliCommand
并执行它 - 列出所有定义的命令的--help
- 找到文档根目录
Utils的自身CLI命令
# List all commands in the system, and their providers. php cli.php -h # One command's help. php cli.php utils-xxx -h # (RISKY) Execute included PHP script. php cli.php utils-execute include-file
时间
Time
扩展了原生的DateTime类,以修复不足和缺陷,
并提供更多、更简单、更安全的getter和setter。
特性
- 可转换为ISO-8601字符串
- JSON序列化为带有时区标记的ISO-8601字符串
- 可冻结
- 增强时区感知
- diff(即diffConstant)在不同时区之间正确工作
- 更简单、更安全的getter和setter
它受到JavaScript的Date类的启发,并确保更好的JavaScript互操作性
通过强调和简化时区感知,以及通过JSON序列化为ISO-8601时间戳字符串;
不是代表PHP DateTime内部属性的虚假JavaScript对象。
可探索的
抽象的Explorable
类提供了简单的方法,以便使对象的受保护成员可读,
并且可以通过专用方法可选地可变。
零散的东西
Unicode
抽象了mbstring。
Sanitize
提供了基本的字符串清理器和转换器。
PathList
隐藏了使用FilesystemIterators的复杂性。
Utils
解析ini字符串/文件,并提供了一系列其他方便的方法。
Bootstrap::prepareDependencies()
用于轻松设置依赖关系。
注意:Bootstrap::prepareDependencies()需要不在composer要求列表中的包
Cache,Config,(可选)JsonLog,Inspect,Locale,Validate。
要求
- PHP >=7.0
- PSR-11 Container
- PSR-3 Log
开发要求
建议
- PHP mbstring扩展
- SimpleComplex Inspect