fzaninotto/phpclassnamegenerator

轻松生成符合PSR-0规范的类名

dev-master 2012-05-25 06:57 UTC

This package is auto-updated.

Last update: 2020-01-05 16:36:25 UTC


README

轻松生成符合 PSR-0 规范的类名。

为什么我应该使用PHPClassNameGenerator™?

如果你有以下情况,这个库会帮到你:

  • 你写了一段很棒的代码,但不知道在哪里贡献它
  • 你想为现有的开源项目做贡献,但不知道做什么

安装

将PHPClassNameGenerator™库添加到你的composer.json文件中

{
  "require": {
    "fzaninotto/PHPClassNameGenerator": "dev-master"
  }
}

然后使用composer完成安装过程。

使用

使用新的ClassNameProvider类与Faker结合,可以生成无限多的符合PSR-0规范的类名。

<?php

require __DIR__ .'/vendor/autoload.php';

$faker = Faker\Factory::create();
$faker->addProvider(new PHPClassNameGenerator\ClassNameProvider($faker));
for ($i=0; $i < 20; $i++) {
    echo $faker->namespacedClassName, "\n";
}

此代码片段生成20个很棒的类名。以下是PHPClassNameGenerator™的示例输出:

Assetic\History\XPath\ButtonAliasArgument
Symfony\Store\MissingCheckboxProcessIntrospectableOption
Doctrine\Resource\Client\FilterMockSet
Doctrine\Directory\ClientDumperErrorConstraint
Monolog\Radio\Form\AnnotationAliasAttribEscaperRadioRequest
Doctrine\Class\Error\Container\EngineTraceableDefinition
Symfony\Store\Scope\StoreProcessAnnotationNativeStorageWriter
Silex\Application\ClassPackage
Doctrine\Service\Kernel\ExceptionStoreForm
Assetic\Hash\Name\Input\KeyFileGeneratorStreamBag
Monolog\Response\BasicButton
Silex\Cookie\Input\AttributeRepeatedDepencencyInjectionProxy
Symfony\Resource\Access\StorageKernelLoaderPathEngine
Doctrine\Kernel\Session\ReferenceIntrospectableHelper
Symfony\Store\CombinedSuccessGenerator
Symfony\Cache\IdentityTimeShell
Doctrine\Path\Dialog\Filesystem\LayoutWarmableNodeElementJsonWarmer
Silex\Cookie\SplDataPackageStringException
Doctrine\Link\TreeHeaderOptionLoader
Symfony\Cookie\MandatoryOption

贡献

当然欢迎提交PR。请尊重PSR-1和PSR-2标准。

为什么PSR-0强制使用这样的糟糕类名?

你告诉我。我从未要求过。现在我不能再在没有IDE的情况下编写PHP代码了,这正在扼杀我的RAD。