Как в PHP наложить текст с CSS стилем на картинку?
Нет, это делается не таким образом.
Работа с изображениями в php через специальный библиотеки GD/ImageMagick.
Но чтобы не возиться самому с велосипедо строением, лучше уже использовать готовые обертки.
Я советую  image.intervention.io, у них отличная документация, широкие возможности по манипуляциям с изображениям, фильтры, кропы, эффекты и тд и тп. В том числе и работа с текстом, поддержка шрифтов.
Если уж хочется именно css/html шаблоны, то есть библиотека https://github.com/niklasvh/html2canvas , но тут уже вам стоит разделить логику и отображение. Мы у себя успешно использовали эту библиотеку для реализации генерации баннеров автоматически под нужный размер, используя адаптивную верстку. Сама библиотека не идеал, на практике бывают всплывают косяки и проблемы, но думаю для вашей задачи более чем подойдет.
все что можно сделать на css делается на css.
Если у вас просто блоки с фоном, а не мемасики, то это делается на html/css.
Текст текстом на странице, а не на картинке.
Т.е. надо верстать макет, а не резать и вставлять картинками(sushiwhite.ru/sets/)