imphp/base

IMPHP组件使用的基本工具

1.7.0 2022-06-19 08:12 UTC

This package is auto-updated.

Last update: 2024-09-19 13:09:59 UTC


README

此仓库包含一些可能对任何类型的项目都很有用的基本工具。它作为其他IMPHP包的基础,但也被构建为可以作为一个独立的包使用。

包含

目前包含在此仓库中的,除了其他东西之外,还有工具包,它包含了很多类似Java的集合类。PHP数组对于某些任务来说是不错的,但由于它们完全缺乏合适的结构和行为(这是它们在某些任务上表现良好的原因),它们根本不适合所有事情。为特定任务正确定义的工具可以使代码更易于阅读、使用和调试。

这里还包含的另一件事是I/O包。这是一个包含一些流类的子包,使得处理文件等流更加友好。这主要是为了在Http包中使用,但流是一个全局工具,不仅仅对单个包及其特定用途有用,所以它最终被整合到了基础包中。

除了上述子包,基础包还有一些自己的类。一个是ClassLoader,虽然可能对大多数人来说不是必需的,但还有一个ErrorCatcher和一个转换类。

完整文档

您可以查看完整文档来了解更多信息。

安装

使用.phar库

wget https://github.com/IMPHP/base/releases/download/<version>/imphp-base.phar
require "imphp-base.phar";

...

通过git克隆

git clone https://github.com/IMPHP/base.git imphp/base/

Composer(Packagist)

composer require imphp/base

PHP版本

此包支持PHP >= 8.0。这样做的原因很简单。一个库项目需要长期保持兼容性,所以你不应该用最老的技术开始一个新项目。

PHP 8带来了许多真正出色的变化,这些变化在很长时间内都不会有用。如果这个项目开始支持PHP 7(PHP 5已经死亡,接受现实吧)。其中一个主要变化是,正确的类型提示几乎已经完成。通往这个点的缓慢而愚蠢的道路使PHP 7变得一团糟,也使PHP 8的类型提示更改变得毫无意义,因为一半的参数等仍然没有。联合类型是一件事,但它们没有一次性添加对所有内置类型的支持,这是不合逻辑的。相反,它们为每个新的7.x版本添加一个类型。所以当涉及到支持已经死亡的版本5、混乱的版本7或更完整的现代版本8时,选择很容易。就像我说的,你选择的版本是你将长期坚持的版本,同时逐渐升级你的项目。

由PHP 8驱动