Конфигурация в global.php
или local.php
не работает, но работает с module.config.php
в API-интерфейсе ламината.
Таким образом, когда режим разработчика включен, он работает с local.php
, но как только я развертываю, он не т. Но когда я добавляю детали базы данных в module.config.php
, это работает.
public function __invoke($services)
{
$db = 'Db\StatusLib';
$table = 'status';
if ($services->has('config')) {
$config = $services->get('config');
switch (isset($config['statuslib'])) {
case true:
$config = $config['statuslib'];
$db = isset($config['db']) ? $config['db'] : $db;
$table = isset($config['table']) ? $config['table'] : $table;
break;
case false:
default:
break;
}
}
if (! $services->has($db)) {
throw new DomainException(sprintf(
'Unable to create %s due to missing "%s" service',
TableGateway::class,
$db
));
}
return new TableGateway($table, $services->get($db));
}
https://github.com/laminas-api-tools/statuslib-example/blob/master/src/TableGatewayFactory.php#L26
https://github.com/laminas-api-tools/statuslib-example/blob/master/config/module.config.php#L12
return [
'statuslib' => [
// 'array_mapper_path' => 'path/to/PHP/file/returning/array.php',
],
'service_manager' => [
'aliases' => [
Mapper::class => ArrayMapper::class,
// Legacy Zend Framework aliases
],
'factories' => [
ArrayMapper::class => ArrayMapperFactory::class,
TableGatewayMapper::class => TableGatewayMapperFactory::class,
TableGateway::class => TableGatewayFactory::class,
],
],
];
Как только я перенесу эти конфиги в local.php
или global.php
, то выдает следующую ошибку:
Не удалось создать службу с именем «StatusLib \ TableGateway». Причина: невозможно создать StatusLib \ TableGateway из-за отсутствия службы "Db \ StatusLib"
Что мне не хватает?
ОБНОВЛЕНИЕ
И кеш отключен.