sun / alien
Alien帮助您为类命名空间创建别名。它还会注入您类的所有依赖项。
v1.7
2015-09-18 06:30 UTC
Requires
- php: >=5.4.0
- php-di/php-di: ^5.0
Requires (Dev)
- mockery/mockery: ~0.9
- phpunit/phpunit: ~4.7
README
Alien帮助您为类命名空间创建别名。它还会注入您类的所有依赖项。
安装过程
只需将Alien文件夹复制到您的项目目录中的某个位置。然后包含Alien自动加载器。
require_once('/path/to/Alien/autoload.php');
Alien也通过Composer/Packagist提供。
composer require sun/alien
您需要调用Alien load方法来初始化一切。
Sun\AlienLoader::load();
配置
如果您手动安装Alien,请打开位于Alien/config.php的config.php文件。
如果您通过composer安装Alien,则需要发布Alien配置文件。在您的终端中运行以下命令以发布alien配置文件。
Php vendor/sun/alien/publish
然后,打开位于config/alien.php的alien.php文件。
添加您的别名和命名空间。例如...
return [ 'File' => 'Sun\FilesystemAlien', 'Mail' => 'SunMailer\MailerAlien', 'View' => 'SunMailer\ViewAlien' ];
创建Alien
您可以通过扩展Alien类来创建Alien。以下是一个示例-
namespace Sun; class FilesystemAlien extends \Sun\Alien { /** * To register Alien * * @return string namespace */ public static function registerAlien() { return 'Sun\Filesystem'; } }
现在您可以使用类的方法以静态方式(不创建类的对象)使用。
示例
假设Filesystem类有一个create()方法。调用Filesystem类的create方法-
$filesystem = new Sun\Filesystem; $filesystem->create();
使用Alien现在,您也可以这样调用create方法-
File::create();
测试Alien
您可以通过以下示例测试您的alien类
$mocked = File::shouldReceive('create') ->once() ->andReturn('mocked'); $this->assertEquals('mocked', $mocked); // true
别忘了调用mockery类的close方法。以下是为PHPUnit测试框架的示例
public function tearDown() { Mockery::close(); }
许可证
此包受MIT许可证许可。