samanime samanime - 1 year ago 204
PHP Question

Symfony2 Use PHP Class Constant in YAML Config?

I know this is probably not possible, but is there a clean way to use a PHP class constant within a YAML config/services/etc. file for Symfony2?

For example, if I have this:

namespace My\Bundle\DependencyInjection;

class MyClass
const MY_CONST = 'cookies';

Is something like this possible (in a .yml file):

class: Some\Class
- %My\Bundle\DependencyInjection\MyClass::MY_CONST%

That'd go a long way in helping maintain consistency between the two.

Answer Source

Injecting PHP-constants only works with XML:

<parameter key="my_service.my_const" type="constant">My\Bundle\DependencyInjection\MyClass::MY_CONST</parameter>

If you want to keep yor yml files, you could just import the xml-file into your services.yml. Mixing config styles might be a bit ugly, but as far as I know this is the only way to do it.

If this doesn't work for you, my comment to your question applies.