Вы можете только объединять строки - поэтому (при условии, что он не просто сгенерирует ошибку и умрет), этот код будет сериализовать объект перед добавлением его в строку. Хотя у вас может быть метод toString () для генерации HTML, он не будет работать с «новой» конструкцией, которая является , а не функцией.
Предположительно, вы хотите создать некоторый HTML-код из объекта в какой-то момент. В этом случае вы должны быть что-то вроде:
$obj=new View('custom_javascript')
$this->template->head . $obj->generateHtml();
Хотя создание целого нового объекта просто для переноса строки в некоторую HTML-разметку очень расточительно - я бы пошел с набором методов для этого - скажем ...
$this->template->head->addJs('custom_javascript');
$this->template->head->addCSS('make_it_look_funky');
...