mistralys / application-utils
PHP应用程序的即插即用实用工具。
3.0.5
2024-07-30 07:14 UTC
Requires
- php: >=7.4
- ext-curl: *
- ext-dom: *
- ext-gd: *
- ext-json: *
- ext-libxml: *
- ext-mbstring: *
- ext-simplexml: *
- ext-zip: *
- mistralys/application-utils-core: >=1.0.3
- parsecsv/php-parsecsv: >=1.3
Requires (Dev)
- phpstan/phpstan: >=1.10
- phpunit/phpunit: >=9.6
Suggests
- mistralys/application-localization: Required to translate available texts, from date related methods or file size labels for example.
- dev-main
- 3.0.5
- 3.0.4
- 3.0.3
- 3.0.2
- 3.0.1
- 3.0.0
- 3.0.0-alpha2
- 3.0.0-alpha1
- 2.5.0
- 2.4.1
- 2.4.0
- 2.3.4
- 2.3.3
- 2.3.2
- 2.3.1
- 2.3.0
- 2.2.11
- 2.2.10
- 2.2.9
- 2.2.8
- 2.2.7
- 2.2.6
- 2.2.5
- 2.2.4
- 2.2.3
- 2.2.2
- 2.2.1
- 2.2.0
- 2.1.3
- 2.1.2
- 2.1.1
- 2.1.0
- 2.0.1
- 2.0.0
- 1.9.1
- 1.9.0
- 1.8.1
- 1.8.0
- 1.7.1
- 1.7.0
- 1.6.0
- 1.5.1
- 1.5.0
- 1.4.6
- 1.4.5
- 1.4.4
- 1.4.3
- 1.4.2
- 1.4.1
- 1.4.0
- 1.3.1
- 1.3.0
- 1.2.5
- 1.2.4
- 1.2.3
- 1.2.2
- 1.2.1
- 1.2.0
- 1.1.7
- 1.1.6
- 1.1.5
- 1.1.4
- 1.1.3
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.10
- 1.0.9
- 1.0.8
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- dev-move-image-helper
This package is auto-updated.
Last update: 2024-08-30 07:31:51 UTC
README
应用程序实用工具
用于常见任务的静态PHP实用工具类,包括文件系统操作和变量转换,以及图像处理。
要求
- PHP v7.4+
- 扩展
- MBString
- CURL
- Json
- GD
- Zip
- Dom
- SimpleXML
安装
只需使用Composer要求该包
composer require mistralys/application-utils
也可以查看Packagist页面。
翻译支持
要启用包中任何可翻译字符串的本地化,还需要要求应用程序本地化包。包括德语和法语翻译,集成界面允许添加额外的翻译。
不支持其他翻译解决方案。
composer require mistralys/application-localization
注意:StringBuilder辅助器的翻译方法依赖于已安装的包。
快速入门
该包旨在简化日常开发任务,从常见的文件系统访问到数据类型转换。它使用基于异常的错误处理,因此不需要检查PHP函数的返回值是否为false。
没有中央工厂用于访问助手。相反,每个静态助手类都有自己的工厂方法,并作为所有相关任务的中心。
例如,所有文件相关任务都存在于FileHelper类中。
use AppUtils\FileHelper; // Replacement for file_get_contents $content = FileHelper::readContents('path/to/file');
同样,转换方法存在于ConvertHelper类中。
use AppUtils\ConvertHelper; $bool = ConvertHelper::string2bool('yes');
以下助手概述可以给您一个大致的了解。
助手概述
此概述是包中可用实用工具类的摘录。它仅显示主要功能 - 例如,ConvertHelper类有多个静态方法在此处未显示。
- BaseException:具有扩展功能的异常类。
- BoolValue:具有单向"粘性"值的面向对象的布尔值。
- ConvertHelper:转换日期、字符串、转写等。
- ByteConverter:将字节数值转换为千字节、兆字节等。
- ControlCharacters:检测和删除字符串中的控制字符。
- DateInterval:围绕本地DateInterval包装以修复常见陷阱。
- DurationConverter:将时间持续时间转换为可读格式。
- EOL:检测字符串或文件中使用的换行符样式。
- HiddenConverter:将隐藏字符转换为可读的,以供调试。
- IntervalConverter:将日期间隔转换为可读格式。
- QueryParser:解析格式为查询的字符串,而不受本地限制。
- SizeNotation:将大小字符串(2 MB)转换为字节数值。
- TabsNormalizer:允许智能地左对齐缩进文本。
- ThrowableInfo:异常分析工具,用于调试并将它们持久化到存储。
- URLFinder:允许在字符串中检测URL。
- WordWrapper:智能地将文本包裹到特定长度。
- ClassHelper:静态分析友好的类加载方法和Composer
ClassLoader
访问。 - CSVHelper:读取和生成CSV文件。
- 高亮器:使用GeSHi进行语法高亮,以及一些自定义变体。
- JSHelper:从PHP生成JavaScript语句,并自动进行PHP > JS的变量转换。
- FileHelper:文件系统实用方法与文件查找器。
- FileFinder:通过过滤器获取文件列表,支持递归或不递归。
- PHPClassInfo:无需反射从PHP文件中获取基本类信息。
- MimeTypes:常用MIME类型列表。
- PathsReducer:将绝对路径列表缩减到公共根目录。
- HTMLHelper:常用HTML实用方法。
- HTMLTag:面向对象的HTML标签生成器。
- AttributeCollection:属性(HTML或其他)的集合类。
- ImageHelper:使用原生GD函数进行图像操作,支持透明度。
- RGBAColor:支持透明通道的颜色容器类。
- IniHelper:INI文件读取器和编辑器。
- Microtime:支持微秒并具有友好方法接口的
DateTime
类。 - NamedClosure:带有添加描述功能的闭包包装器。
- NumberInfo:带有或没有单位的数字访问和修改。
- OperationResult:存储任何操作结果的状况的插入类。
- OutputBuffering:带有异常错误管理的输出缓冲区包装器。
- PaginationHelper:计算分页组件所需的所有必需数字。
- RegexHelper:典型的验证正则表达式的集合。
- Request:验证、过滤和访问请求变量。
- URLComparer:比较URL,包括查询参数。
- RequestHelper:从头开始构建原始请求,支持多部分。
- AcceptHeaders:允许解析
Accept:
头。
- StringBuilder:易于连接字符串,具有格式化辅助工具,在链式接口中。
- SVNHelper:与本地SVN仓库一起工作。更新、提交等。
- 特性和接口:用于常见任务的插件特性,以及匹配的接口。
- Classable:用于可以具有类(如HTML元素)的元素。
- Optionable:用于允许设置选项的元素,具有强类型。
- Stringable:用于具有
__toString()
方法的元素。
- 转写:任何名称的简单ASCII转写。
- URLInfo:面向对象的parse_url,修复了多个陷阱。
- 高亮器:使用集成CSS突出显示URL。
- 规范化器:规范化URL,包括查询参数排序。
- VariableInfo:关于任何PHP变量类型的信息,包括字符串转换。
- XMLHelper:简化了与DOM或SimpleXML等XML库一起工作。
- HTMLLoader:轻松加载HTML片段或整个文档。
- DOMErrors:使用面向对象接口简化LibXML解析错误。
- LibXML:所有LibXML验证错误的常量。
- SimpleXML:SimpleXML的包装器,包含多个实用方法。
- Converter:将XML/HTML转换为数组和json。
- ZIPHelper:抽象ZIPArchive类的操作。
文档
辅助类的文档正在《应用工具Wiki》中持续更新。
来源
这些类在许多遗留应用程序中仍在使用。它们的代码最初散布在这些应用程序中,随着时间的推移代码发生了分歧。这个仓库的目的是将它们全部整合成一个单一包,以便更容易维护。
由于遗留应用程序仍在维护中,这个包正在积极维护和现代化。