Esses dias estava mexendo num projeto que envolvia paths, etc.
Foi quando resolvi criar no app.yml o tal path:
app.yml
all:
path:
cartoes: /cartoes
Ok. Eu usava isso da seguinte maneira na action:
(…)
$path = sfConfig::get("sf_root_dir") . sfConfig::get("app_path_cartoes") . "/";
Como eu tive que usar isso mais de uma vez, aconteceu de paths serem escritos errados como por exemplo:
// duas barras no meio
sfConfig::get("sf_root_dir")."/".sfConfig::get("app_path_cartoes")."/";
// sem a barra no final
sfConfig::get("sf_root_dir").sfConfig::get("app_path_cartoes");
// sem nenhuma barra
sfConfig::get("sf_root_dir").sfConfig::get("app_path_cartoes");
sfConfig::get("sf_root_dir")."/".sfConfig::get("app_path_cartoes")."/";
// sem a barra no final
sfConfig::get("sf_root_dir").sfConfig::get("app_path_cartoes");
// sem nenhuma barra
sfConfig::get("sf_root_dir").sfConfig::get("app_path_cartoes");
além de eu estar escrevendo código a mais…
Então, descobri que o YML aceita comandos de PHP, porém com alguns pequenos detalhes.
O lance é ficar atento ao “\n” no final, porque sem isso vai o YML fica inválido gerando erro.
Isso pode ser melhorado utilizando o echoln.
all:
path:
cartoes: <? php echoln (sfConfig::get(‘sf_root_dir’) . "/cartoes/" ?>
Pronto. Ai temos o path correto que utilizará apenas um sfConfig::get.
Isso pode ser usado para outros diversos casos, é claro.

rpsblog.com » A week of symfony #53 (31 december 2007 -> 6 january 2008) | 06-Jan-08 at 3:36 pm | Permalink
[…] Arquivos YAML podem ter comandos PHP (YAML can contain php code) […]