Skip to content

Symfony 5 support #98

@oldy777

Description

@oldy777

@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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions