umanit/dev-bundle
最新稳定版本:2.1.4
Composer 安装命令:
composer require --dev umanit/dev-bundle
包简介
Helper classes and dependencies for usual dev environment
README 文档
README
This bundle is used for development at UmanIT.
It provides multiple tools and rules to ease development.
PHP Arkitect
Rules for PHP Arkitect:
NotAbuseFinalUsage: Disallow to use final classes if at least one public method of your class is called in another public method of the same class.NotUseGenericException: Disallow the use of generic\Exceptionclass.
Usage
Edit your arkitect.php file to include the following:
use Arkitect\Expression\ForClasses\ResideInOneOfTheseNamespaces; use Umanit\DevBundle\Arkitect\Expression\ForClasses\NotAbuseFinalUsage; use Umanit\DevBundle\Arkitect\Expression\ForClasses\NotUseGenericException; // [...] $rules[] = Rule ::allClasses() ->that(new ResideInOneOfTheseNamespaces('App')) ->should(new NotUseGenericException()) ->because('we want to force usage of SPL exceptions or custom ones') ; $rules[] = Rule ::allClasses() ->that(new ResideInOneOfTheseNamespaces('App')) ->should(new NotAbuseFinalUsage()) ->because('we want avoid final classes which reduce extensibility') ;
Foundry
Various tools to ease tests creation:
- A database reseter usable as a Symfony command.
- Some utilities function to ease the creation of entities.
- Possibility to use aliases on Doctrine entities within factories.
PHPStan
Rules for PHPStan:
EnsureFunctionBackslashRule: Ensure that some optimizable functions are called with backslash.NoWhereOnQueryBuilderRule: Disallow to usewheremethod onQueryBuilderin favor ofandWhere.
Usage
Edit your phpstan.neon file to include the following:
rules: - Umanit\DevBundle\PHPStan\Rules\EnsureFunctionBackslashRule - Umanit\DevBundle\PHPStan\Rules\NoWhereOnQueryBuilderRule
TestUtils
One static method TestUtils::setId to set the id of an entity by reflection. Useful for tests when your entities do
not expose a setId method.
Usage
In your test:
TestUtils::setId($entity, 42);
统计信息
- 总下载量: 853
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-09-24