(Расширить ответ Молекулярного Человека)
Для людей, нуждающихся в этом в Symfony 4 :
Служба templating.name_parser
по умолчанию больше не регистрируется как таковая, и вам нужна зависимость symfony/templating
в Composer для ее использования.
Кроме того, теперь рекомендуется не использовать контейнер напрямую для получения сервисов (не говоря уже о том, что новый AbstractController не имеет всех доступных сервисов), а делать инъекцию зависимостей с помощью подсказок типов.
Итак, способ заставить его работать с Symfony 4:
//...
use Symfony\Bundle\FrameworkBundle\Templating\Loader\TemplateLocator;
use Symfony\Bundle\FrameworkBundle\Templating\TemplateNameParser;
class DefaultController extends AbstractController
{
public function indexAction(TemplateNameParser $parser, TemplateLocator $locator)
{
$path = $locator->locate($parser->parse('AcmeProjectBundle::home.html.twig'));
//...
}
}