2016-12-12 5 views
0

Мне интересно, как именно это использовать для интерполяционной функции, когда у вас есть регистратор PSR-3. Я знаю, как это работает, глядя на эту ссылку:Интерполяция PSR-3

https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-3-logger-interface.md#12-message

Но до сих пор я не могу придумать из потребительной случае для нее еще. Почему бы вам не просто интерполировать его, как обычно? Вместо этого они предпочитают использовать массив контекстов с заполнителями.

Если кто-нибудь может сказать мне, почему это было бы полезно, просто поставив переменную прямо там, я был бы благодарен.

Спасибо.

ответ

2

Я не знаю, полностью ли я понимаю ваш вопрос, так или иначе: Каждый метод принимает массив как данные контекста. Это предназначено для хранения любой посторонней информации, которая не очень хорошо вписывается в строку.

Чтобы заменить каждый заполнитель в массиве нам нужен метод, это interpolate()

PSR-3 | 1.3 - Context

+0

Ну, в конце концов, если вы используете интерполяцию вы в конечном итоге с данными массива в строке в любом случае. Так почему бы прямо не поместить его туда. Но я играл с ним некоторое время, и это может быть полезно как своего рода псевдоним. Так как вы можете не захотеть в строку, например: '' '{$ object-> method()}' '' вещи, поскольку это может привести к большой и неясной строке, когда вы делаете это несколько раз. Спасибо, что нашли время! –