saritasa/php-common

此包已被 弃用 并不再维护。未建议替代包。

Saritasa 类,可在任何应用程序中通用使用

1.2.2 2022-10-10 11:52 UTC

This package is auto-updated.

Last update: 2024-09-10 15:46:15 UTC


README

PHP Unit PHP CodeSniffer CodeCov Release PHPv Downloads

通用 Saritasa 类和助手,可在任何应用程序中通用使用。此包不应依赖于任何框架或库。

用法

安装 saritasa/php-common

$ composer require saritasa/php-common

可用类

Enum

SplEnum 类的替代品。设计用于存储重复使用的常量集合。

示例:

class Gender extends Saritasa\Enum
{
    const MALE = 'Male';
    const FEMALE = 'Female';
}

代码中的某处

$allGenders = Gender::getConstants();
$gender = new Gender($stringValue); // Will throw UnexpectedValueException on unknown value;
function getGenderDependentValue(Gender $gender) { ... }

Dto

一个简单的 DTO,可以将关联数组转换为强类型类并返回

/**
 * @property-read string $name Person full name
 * @property-read string $address Street address
 * @property-read string $city City
 * @property-read string $state State
 * @property-read string $zip Zip Code
 */
class Address extends Dto
{
    protected $name;
    protected $address;
    protected $city;
    protected $state;
    protected $zip;
}
...
$address = new Address($request->all()) // Read only Address fields from HTTP Request
$address->toArray() // Convert to assotiative array
$address->toJson()  // Serialize to JSON format

RegExp

preg_match 的可重用包装器

示例:

$isEmail = new RegExp('/\w+@\w+\.\w+/');
$result = $isEmail('test@it');

异常定义

ConfigurationException

如果您发现配置错误,请抛出此异常。

示例:

$payPalKey = config('services.paypal_key');
if (!$payPalKey) {
    throw new ConfigurationException("PayPal key is not configured");
}

PagingException

如果您实现分页并遇到不可恢复的问题,请抛出此异常。

PaymentException

如果您实现支付服务或围绕支付服务的包装器并遇到不可恢复的问题,请抛出此异常。

贡献

要求

此包必须

  • 不依赖于任何框架或库
  • 不依赖于其他 Saritasa 包
  • 不注册任何提供者
  1. 创建分支,检出它
  2. 本地开发如常。 代码必须遵循 PSR-1PSR-2 - 运行 PHP_CodeSniffer 以确保代码遵循风格指南
  3. 通过单元测试添加功能覆盖 并运行 PHPUnit 以确保所有测试通过
  4. 更新 README.md 以描述新功能或更改功能
  5. 将更改描述添加到 CHANGES.md 文件。使用 语义版本 规范来确定下一个版本号。
  6. 准备好后,创建拉取请求

创建快捷方式

如果您已安装 GNU Make,则可以使用以下快捷方式

  • make cs(代替 php vendor/bin/phpcs) - 使用 PHP_CodeSniffer 运行静态代码分析以检查代码风格
  • make csfix(代替 php vendor/bin/phpcbf) - 自动修复代码风格违规(例如,PSR-2 代码格式违规),尽可能做到
  • make test(代替 php vendor/bin/phpunit) - 使用 PHPUnit 运行测试
  • make install - 代替 composer install
  • make all 或不带参数的 make - 依次调用上述 installcstest 任务 - 项目将构建,使用 linter 检查,并通过一个单一命令进行测试

资源