Useful 是一个 PHP 非框架库。它是一系列实用类集合。取你需要的,剩下不用管。

v0.3.0.1 2010-05-21 00:00 UTC

This package is auto-updated.

Last update: 2024-09-26 07:03:59 UTC


README

Useful 是一个注重简单性的 PHP 库集合。取你需要的,忽略其余的。

目标

实用

Useful 提供了其他地方难以找到的便利。

它解决了 PHP 语言、常见框架或流行库没有很好解决的常见挑战。

简单性

Useful 可以快速使用,无需大量阅读和培训。

类层次结构扁平。每个类只做一件事。所有类对应用程序开发人员都立即有用。

易于集成

Useful 不要求你以特定方式做事。

它有很少的依赖项,依赖项标记清晰。每个类都独立存在,可以单独使用。

要求

PHP 5 >= 5.4 或 PHP 7;或者 PHP 5 >= 5.0(需要特殊处理,见下文 无命名空间)。

大多数类应该在 PHP 支持的任何地方工作。例外情况已明确标注。

安装

Composer

Useful 支持 Composer。如果你也使用,太好了,使用 Composer 安装 Useful 然后继续。

示例

手动

你可以从 Github 克隆,或者直接复制文件。

从 Github 克隆

git clone https://github.com/morvren-achronos/php-useful.git WHEREVER_YOU_PUT_VENDOR_CODE/useful

你甚至可以粘贴单个类;Useful 类没有相互依赖,所以如果你只需要一个,就可以直接取用并使用。

使用

Composer 自动加载

如果你使用 Composer,则 Useful 代码将自动加载。所有类都在 \Useful 命名空间中。

示例

// Create a Useful Date object
$oDate = \Useful\Date::create('1999-12-31');

包含 Useful 的自动加载器

// Load Useful autoloader directly
require_once('WHEREVER_YOU_PUT_VENDOR_CODE/useful/src/autoloader.php');

// Create a Useful Date object
$oDate = \Useful\Date::create('1999-12-31');

这是一个简单的 PSR-4 自动加载器,用于 \Useful 命名空间。

无命名空间:遗留加载器

Useful 通过其“遗留加载”系统支持回 PHP 5(理论上)5.0。

注意,测试套件需要 PHP 7。作者在 PHP 5.1 上使用了 Useful 的部分功能。效果可能因人而异。

PHP 5.1 兼容的 SPL 自动加载器

// Load Useful legacy autoloader
require_once('WHEREVER_YOU_PUT_VENDOR_CODE/useful/src/legacy_autoloader.php');

// Create a Useful Date object
$oDate = Useful_Date::create('1999-12-31');

遗留自动加载器使用类名前缀(Useful_Foo)而不是命名空间(\Useful\Foo)。

PHP 5.0 加载器

PHP 5.0 没有 spl_autoload_register()。没关系。遗留加载器可以用来直接加载一个类,而不需要命名空间。

// Load Useful_Legacy_Loader class
require_once('WHEREVER_YOU_PUT_VENDOR_CODE/useful/src/Useful_Legacy/Loader.php');
Useful_Legacy_Loader::registerNamespace(
	'\Useful',
	'WHEREVER_YOU_PUT_VENDOR_CODE/useful/src/Useful',
	'WRITABLE_TEMP_DIRECTORY_FOR_CODE_CACHING/'
);

function __autoload($sClass)
{
	// Try Useful legacy loader, it will return FALSE if not handled.
	// You could also just call this method directly for each class you want, without an autoloader.
	if (Useful_Legacy_Loader::loadClass($sClass)) {
		return;
	}

	// ... whatever else you need to autoload
}

// Create a Useful Date object
$oDate = Useful_Date::create('1999-12-31');

测试

使用 PHPUnit。测试覆盖率是 [2019-04] @TODO 对于某些类来说非常不完整。