reformo / backendbase-utility
Backendbase 库的标准库。
1.3
2024-05-13 09:08 UTC
Requires
- php: ^8.1
- ext-dom: *
- psr/container: ^1.0|^2.0
Requires (Dev)
- codeception/codeception: ^5.0
- codeception/module-asserts: ^2.0
- doctrine/coding-standard: ^9.0
- laminas/laminas-servicemanager: ^3.6
- php-coveralls/php-coveralls: ^v2.2.0
- squizlabs/php_codesniffer: ^3.6
Suggests
- ext-intl: Slugify needs this extension
- ext-libxml: TagAndAttributeRemover needs this extention
README
Backendbase 和其他库的标准库。
EqualsBuilder
此类提供构建任何类 equals 方法的函数。旨在用于比较值对象。
<?php declare(strict_types=1); use Backendbase\Utility\EqualsBuilder; class SomeValueObject() { private $value1; private $value2; public function __construct(string $value1, string $value2) { $this->value1 = $value1; $this->value2 = $value2; } public function getValue1() :string { return $value1; } public function getValue2() : string { return $value2; } public function equals($otherObject) : bool { return EqualsBuilder::create() ->append($this->value1, $otherObject->getValue1()) ->append($this->value2, $otherObject->getValue2()) ->isEquals(); } }
Resolver
此类提供获取方法类型提示的方法。旨在用于自动装配类。
<?php declare(strict_types=1); use Backendbase\Utility\Resolver; class BlogService {} class Controller { private $argument; private $service; public function __construct(BlogService $service, array $argument) { $this->service = $service; $this->argument = $argument; } } $arguments = Resolver::getParameterHints(Controller::class, '__construct'); var_dump($arguments); /* Prints array(2) { ["service"]=> string(11) "BlogService" ["argument"]=> string(5) "array" } */
CaseConverter
此类提供将字符串转换为 camelCase、PascalCase 或 snake_case 字符串的方法。
<?php declare(strict_types=1); use Backendbase\Utility\CaseConverter; $source = 'test string'; $result = CaseConverter::toCamelCase($source); // returns: testString $result = CaseConverter::toPascalCase($source); // returns: TestString $result = CaseConverter::toSnakeCase($source); // returns: test_string
Git\Version
此类提供获取 git 短版本号的方法。对于使用 git 的部署,它可以用于为 JS、CSS 文件提供版本号,以确保缓存这些文件的更新版本。
<?php // common.php declare(strict_types=1); use Backendbase\Utility\Git\Version; $gitVersion = Version::short(); $twig->addGlobal('version', $gitVersion);
<!-- main.twig --> <html> <head> <link href="/assets/css/main.css?v={{version}}" rel="stylesheet" type="text/css" /> <script type="text/javascript" src="/assets/js/main.min.js?v={{version}}"></script> </head> <body> ... </body> </html>
BaseUrlExtractor
此类提供获取应用程序运行的基础 URL 的方法。
注意:如果您在 Cloudflare 等服务之后,或使用灵活 SSL 功能时,此方法可能不会返回实际的基 URL。
<?php declare(strict_types=1); use Backendbase\Utility\BaseUrlExtractor; $baseUrl = BaseUrlExtractor::getBaseUrl($_SERVER); echo $baseUrl; /* Prints base url like: http://127.0.0.1:8080 http://127.0.0.1:8080/myapp https://myapp.com */