In the past, Symfony used a different syntax to refer to templates. This
format, which uses colons (:) to separate each template path section, is
less consistent and has worse performance than the Twig syntax. For reference
purposes, this is the equivalent notation of the previous example:

1
2
3

{# the following template syntax is no longer recommended #}{%extends"AppBundle::layout.html.twig"%}{{include('AppBundle:Foo:bar.html.twig')}}

You can also register your own custom namespaces. Suppose that you're using
some third-party library that includes Twig templates that live in
vendor/acme/foo-bar/templates. First, register a namespace for this
directory:

You can also assign several paths to the same template namespace. The order in
which paths are configured is very important, because Twig will always load
the first template that exists, starting from the first configured path. This
feature can be used as a fallback mechanism to load generic templates when the
specific template doesn't exist.