в компонентах симфони пару раз видел sprintf(). Не моветон, можешь использовать, главное если начал - то делай так во всём проекте. Единобразие важнее.
Типы для параметров и возвращаемых значений могут быть помечены как обнуляемые путем добавления префикса в виде знака вопроса. Это означает, что указанные параметры и возвращаемые значения, могут быть как указанного типа, так и NULL.