databasehost
- это параметр, когда вы пытаетесь зарегистрировать его в качестве службы.Вместо этого вы должны установить его с помощью метода setParameter
, чтобы сделать его действительно параметром.
Затем вы можете использовать его для ввода в эксплуатацию с помощью метода addArgument
.
Есть очень похожий примерв DIC Component docs :
$containerBuilder = new ContainerBuilder();
$containerBuilder->setParameter('mailer.transport', 'sendmail');
$containerBuilder
->register('mailer', 'Mailer')
->addArgument('%mailer.transport%');
Так что ваш код должен выглядеть примерно так:
$containerBuilder = new ContainerBuilder();
$containerBuilder->setParameter('databasehost', '127.0.0.1');
$containerBuilder
->register('Database', 'Database')
->addArgument('%databasehost%');
И, кстати, PSR-11 ничего не говорит остроительство монетодержателя, но только о получении услуг от него.Он определяет только методы get
и has
.
PS Я предположил, что Datatabase
, что просто опечатка, и вы имели в виду Database