fousheezy / slim-core
Slim 框架的核心实用类
1.1.1
2015-09-29 17:13 UTC
Requires
- fousheezy/fzy-doctrine-utils: ^1.1
- slim/slim: ^2.6
Requires (Dev)
- phpunit/phpunit: 4.7.*
This package is not auto-updated.
Last update: 2024-09-28 19:03:52 UTC
README
可以在应用程序之间复用的 Slim 核心实用类。
安装
composer require fousheezy/slim-core
文档
FzySlimCore\Util\Container
一个用于快速将服务添加到 Slim 应用容器的工厂
函数 registerServices
\Slim\Slim $app
:要添加服务的 Slim 应用array $config
:配置的服务数组
此函数遍历配置键,每个键都应该包含一个数组。在这些数组中的每个数组中,字符串将是您在 slim 应用中引用的名称(例如 $app->config_key
)
- 可调用项:此字符串键 => 可调用对数组将调用可调用的结果设置为服务值
- 工厂:此字符串键 => 字符串值对数组实例化值中定义的类。此类必须实现
\FzySlimCore\Factory\ServiceFactoryInterface
。调用getService(\Slim\Slim $app)
的结果成为服务。 - 可调用项:此字符串键 => 字符串值对数组以单例方式实例化值中定义的类。然而,如果键映射到数组,则该数组用作实例化类的配置。
可调用数组
通过在可调用项部分使用数组配置来实例化服务非常方便。
- 数组必须包含一个
class
键,该键将指定要实例化的字符串类名。 - 数组可以可选地包含一个
arguments
键,该键指定类构造函数参数的数组。注意:您可以使用字符串"@serviceKey"
指定服务,容器类将自动将其转换为真实服务。 - 数组可以可选地包含一个
calls
键,该键指定对象方法调用的列表。这是通过将calls
设置为数组数组来完成的。每个子数组应有两个值;第一个值被视为字符串方法名,第二个值被视为传递给该方法的参数数组。与构造函数一样,带有 @ 前缀的字符串将被转换为它们代表的服务。
示例
'invokables' => [
'my_service' => '\MyNamespace\Service\MyService',
'second_service' => [
'class' => '\MyNamespace\Service\SecondService'
'arguments' => ['@my_service', 'a regular string', 3],
'calls' => [
['registerHandler', ['@my_service3', 45]]
['setTimeout', [1]]
]
],
'my_service3' => '\MyNamespace\Service\ThirdService',
]
在上面的示例中,$app 将有 3 个服务 my_service
、second_service
和 my_service3
。前两个服务是简单的字符串定义,因此它们将被实例化和返回。
/* @var $service \MyNamespace\Service\MyService */
$service = $app->my_service;
/* @var $service \MyNamespace\Service\ThirdService */
$service = $app->my_service3;
second_service
键将按照以下顺序运行,当设置自身时:
$service = new \MyNamespace\Service\SecondService($app->my_service, 'a regular string', 3);
$service->registerHandler($app->my_service3, 45);
$service->setTimeout(1);
$app->second_service = $service;
FzySlimCore\Util\Mode
一个用于在 slim 应用上设置模式配置的实用类
静态函数 configureModes
\Slim\Slim $app
:要应用模式的 Slim 应用array $modeConfigs
:要配置的模式数组
此函数遍历模式配置。每个键被视为模式名称,每个值是特定于该模式的配置数组。
FzySlimCore\Util\Page
一个包含分页参数信息的类。
FzySlimCore\Util\Params
一个包含可迭代数据集的类,可以在不检查键是否存在的情况下访问它。
FzySlimCore\Util\Result
一个标准化REST响应格式的分页结果类。