2016-12-15 17 views
1

Я разрабатываю приложение PHP с использованием Silex и YAML.Как представить закрытие PHP в YAML?

Теперь я хочу представить закрытие PHP, используя концепцию языка YAML. Каков наилучший способ? Есть ли способ сделать это?

Следующий код является примером того, что я хочу «перевести» на YAML.

'users' => function() use ($app) { 
    return new UserProvider(); 
} 

Спасибо!

ответ

0

Это то, что делает Symfony: сначала вы определяете своего поставщика услуг как службу. С Silex вы можете сделать это с:

$app['my_user_provider'] = function() use ($app) { 
    return new UserProvider(); 
}; 

Затем в конфигурации YAML, вы передаете идентификатор службы, который вы хотите использовать. Что-то вроде:

security: 
    user_provider: my_user_provider 
+0

Я уверен, что он спрашивает, как определить услугу, а не как ее использовать. Контейнер Symfony позволяет вам определять службы с помощью yaml. Контейнер Pimple (который использует Silex) нет. – Cerad

+0

На самом деле я не знаю, был ли я понятен. Я настраиваю брандмауэр с помощью yaml, поэтому я хочу представить что-то вроде этого: '$ app ['security.firewalls'] = array ( 'admin' => array ( 'pattern' => '^/администратор, 'HTTP' => правда, 'пользователи' => функции() использовать ($ приложения) { вернуть новый UserProvider(); } ), ); ' –

+0

Нет, вы были ясны. Вам просто нужно разобрать yaml и скомпилировать DIC. – Federkun