SmartyBundle icon indicating copy to clipboard operation
SmartyBundle copied to clipboard

Symfony 5 support

Open oldy777 opened this issue 4 years ago • 1 comments

@vitorbrandao Hi! Do you have plans to add sf5 support? I faced some problems trying to adopt it for sf5.

  1. There is no tempting section in framework config, so you need use SmartyEngin directly
- templating:
-     engines: ['smarty']
  1. There is not kernel.root_dir var. Now we have kernel.project_dir. And default folder is templates
  2. Small change we need in \NoiseLabs\Bundle\SmartyBundle\Extension\SecurityExtension
- return $this->authorizationChecker->isGranted($role, $object);
+ try {
+            return $this->authorizationChecker->isGranted($role, $object);
+       } catch (AuthenticationCredentialsNotFoundException $e) {
+            return false;
+        }
  1. EngineInterface namespace changed;
- use Symfony\Bundle\FrameworkBundle\Templating\EngineInterface;
+ use Symfony\Component\Templating\EngineInterface;
  1. Symfony\Bundle\FrameworkBundle\CacheWarmer\TemplateFinderInterface removed without replacement
  2. The biggest problem FileLocator interface changed. Now we can't inject anything in FileLocator except $kernel
class FileLocatorFactory
{
    /**
     * @param KernelInterface $kernel A KernelInterface instance
     * @param null|string     $path   The path the global resource directory
     * @param array           $paths  An array of paths where to look for resources
     */
    public static function createFileLocator(KernelInterface $kernel, ?string $path, array $paths, array $extraTemplatePaths): FileLocator
    {
        return new FileLocator($kernel, /**$path, array_merge($paths, $extraTemplatePaths)*/);
    }
}
  1. Small problems with tests. They can be easily solved except this problem with FileLocator

oldy777 avatar Dec 13 '21 08:12 oldy777

Hi, @oldy777. I've started working on sf5 in this PR but it's not a trivial task as they have dropped the built-in support for multiple templating engines. I'll get in touch with the core team.

My plan is to release a stable 4.0 SmartyBundle release this month then have the master branch free for sf5 support work.

vitorbrandao avatar Dec 16 '21 10:12 vitorbrandao