barbosa / packager

依赖项的伪类外观

0.1 2016-11-01 10:01 UTC

This package is auto-updated.

Last update: 2024-09-04 05:37:47 UTC


README

安装

要通过composer安装(https://composer.php.ac.cn/),请将以下内容放入您的composer.json文件中

{
    "require": {
        "barbosa/packager": "dev-master"
    }
}

或从github.com下载包

http://github.com/barbosa89/packager

配置

考虑以下文件夹结构

/project
    /src
        MainClass.php
        Router.php
        TextProcessing.php
        Request.php
        services.php
        /Facades
            Router.php
            TextProcessing.php
            Request.php

services.php文件,返回一个包含别名和相应命名空间以及以下语法的数组

<?php 

/**
 * file: services.php
 */

return [

    'router' => Some\Namespace\Router::class,
    'text' => Some\Namespace\TextProcessing::class,
    'request' => Some\Namespace\Request::class  

];

在MainClass.php文件中,调用 AliasLoader::setAliases 方法

<?php

namespace Some\Namespace;

use Barbosa\Packager\AliasLoader;

class MainClass
{
    public function __construct
    {
        $aliases = require 'services.php';
        AliasLoader::setAliases($aliases);
    }
}

AliasLoader::setAliases 方法用于记录命名空间,可以从应用的任何地方调用。

外观类必须在Facades文件夹中创建

<?php

namespace Some\Namespace\Facade;

use Barbosa\Packager\AccessFacade;
use Barbosa\Packager\FacadeInterface;

class Router extends AccessFacade implements FacadeInterface
{
    public static function getServiceName()
    {
        return 'router';
    }
}

对于每个服务或类,必须创建一个外观。

现在您可以从应用的任何地方调用静态样式服务,只需使用外观的命名空间。例如

<?php

namespace Some\Namespace;

use Barbosa\Packager\AliasLoader;
use Some\Namespace\Facades\Request

class MainClass
{
    public function __construct
    {
        $aliases = require 'services.php';
        AliasLoader::setAliases($aliases);
    }

    public function resolveUri($uri)
    {
        return Request::parseUri($uri);
    }
}

鸣谢

贡献

  1. 查找开放性问题或创建新问题以开始关于错误或功能的讨论。
  2. 在GitHub上分叉存储库以开始做出更改。
  3. 为新的功能或暴露错误的测试编写一个或多个测试。
  4. 进行代码更改以实现功能或修复错误。
  5. 发送拉取请求以合并和发布您的更改。

感谢...

Omar Andrés Barbosa