承接 dakujem/slim-factory 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

dakujem/slim-factory

最新稳定版本:1.1

Composer 安装命令:

composer require dakujem/slim-factory

包简介

A tiny tool to help you bootstrap a Slim v4 app.

README 文档

README

PHP from Packagist Test Suite Coverage Status

💿 composer require dakujem/slim-factory

Usage

use Dakujem\Slim\SlimFactory;

Build an App instance, optionally provide decorators and/or a container for the App instance:

$app = SlimFactory::build();
$app = SlimFactory::build($decorators);
$app = SlimFactory::build($decorators, $container);

Or, build an App instance using core services from a container, with optional decorators:

$app = SlimFactory::buildFromContainer($container);
$app = SlimFactory::buildFromContainer($container, $decorators);

In case you already have an instance od Slim App, your decorators can be used to decorate it:

$app = Slim\Factory\AppFactory::create( ... );
SlimFactory::decorate($app, $decorators);

A decorator may be:

  • an instance of AppDecoratorInterface implementation
  • a string name of such a class
  • a callable provider of such an instance **
  • a callable that directly decorates the slim app instance **
class MiddlewareDecorator implements AppDecoratorInterface
{
    public function decorate(App $slim): void
    {
        $slim->addRoutingMiddleware();
        $slim->addBodyParsingMiddleware();
        $slim->addErrorMiddleware();
    }
}

// The following 4 decorators are equivalent:
$decorators = [
    new MiddlewareDecorator(),          // a decorator instance
    MiddlewareDecorator::class,         // a class name
    fn() => new MiddlewareDecorator(),  // a decorator provider
    function(App $slim): void {         // a callable decorator
        $slim->addRoutingMiddleware();
        $slim->addBodyParsingMiddleware();
        $slim->addErrorMiddleware();
    }
];

** Note

If a callable is used as a decorator, it is always invoked, regardless of its signature.

If the callable returns an instance of a decorator (an implementation of AppDecoratorInterface), the returned decorator is immediately applied too.

The callables receive the instance of the App being decorated as the first argument, which is the same signature as the one of AppDecoratorInterface::decorate method.

Testing

Run unit tests using the following command:

$ composer test

Contributing

Ideas, feature requests and other contribution is welcome. Please send a PR or create an issue.

统计信息

  • 总下载量: 5.02k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: Unlicense
  • 更新时间: 2020-10-22