sun/alien

Alien帮助您为类命名空间创建别名。它还会注入您类的所有依赖项。

v1.7 2015-09-18 06:30 UTC

This package is auto-updated.

Last update: 2024-09-08 17:48:44 UTC


README

Build Status Total Downloads Latest Stable Version Latest Unstable Version License

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许可证许可。