barbosa / packager
依赖项的伪类外观
0.1
2016-11-01 10:01 UTC
Requires
- php: >=5.4
Requires (Dev)
- phpunit/phpunit: 5.4.*
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);
}
}
鸣谢
- www.sitepoint.com
- 受Laravel的启发:外观类
贡献
- 查找开放性问题或创建新问题以开始关于错误或功能的讨论。
- 在GitHub上分叉存储库以开始做出更改。
- 为新的功能或暴露错误的测试编写一个或多个测试。
- 进行代码更改以实现功能或修复错误。
- 发送拉取请求以合并和发布您的更改。
感谢...