Как я могу условно заменить токены в файле конфигурации с помощью Capistrano или Phing?

Я хотел бы попробовать Capistrano для развертывания приложения PHP, но не вижу возможности для замены токенов в файлах конфигурации для разных сред.

Я использую микрофрейм Slim, который просто использует массив в index.php для конфигурационных переменных, таких как имя пользователя базы данных и т. Д. Я бы хотел помещать токены, такие как% dbuser%, которые будут заменены во время развертывания в зависимости от того, развертываю ли я к постановке или производству.

Возможно ли это в Капистрано? Или я бы использовал что-то вроде Phing для этого?

В Phing, если ваше развертывание основано на Phing, вы можете использовать фильтр ReplaceTokens .

Пример (не проверен) :

<target name="-modify-config" hidden="true" description="Modifies the xyz.conf "> <copy file="${some.directory}/xyz.conf.dist" tofile="${some.directory}/xyz.conf" overwrite="true" > <filterchain> <replacetokens begintoken="%" endtoken="%"> <token key="KEY_A" value="${value.a}" /> <token key="KEY_B" value="${value.b}" /> </replacetokens> </filterchain> </copy> </target>