mirror of
https://github.com/slawkens/myaac.git
synced 2025-11-30 06:56:51 +01:00
Update Twig from 1.35.0 to 1.42.4 (PHP 5.5 is now required!)
This fixes some errors on PHP 7.4 and contains even more fixes Also bumped PHP version to 5.5 as Twig requires it.
This commit is contained in:
41
system/libs/Twig/RuntimeLoader/ContainerRuntimeLoader.php
Normal file
41
system/libs/Twig/RuntimeLoader/ContainerRuntimeLoader.php
Normal file
@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of Twig.
|
||||
*
|
||||
* (c) Fabien Potencier
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Twig\RuntimeLoader;
|
||||
|
||||
use Psr\Container\ContainerInterface;
|
||||
|
||||
/**
|
||||
* Lazily loads Twig runtime implementations from a PSR-11 container.
|
||||
*
|
||||
* Note that the runtime services MUST use their class names as identifiers.
|
||||
*
|
||||
* @author Fabien Potencier <fabien@symfony.com>
|
||||
* @author Robin Chalas <robin.chalas@gmail.com>
|
||||
*/
|
||||
class ContainerRuntimeLoader implements RuntimeLoaderInterface
|
||||
{
|
||||
private $container;
|
||||
|
||||
public function __construct(ContainerInterface $container)
|
||||
{
|
||||
$this->container = $container;
|
||||
}
|
||||
|
||||
public function load($class)
|
||||
{
|
||||
if ($this->container->has($class)) {
|
||||
return $this->container->get($class);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class_alias('Twig\RuntimeLoader\ContainerRuntimeLoader', 'Twig_ContainerRuntimeLoader');
|
||||
41
system/libs/Twig/RuntimeLoader/FactoryRuntimeLoader.php
Normal file
41
system/libs/Twig/RuntimeLoader/FactoryRuntimeLoader.php
Normal file
@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of Twig.
|
||||
*
|
||||
* (c) Fabien Potencier
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Twig\RuntimeLoader;
|
||||
|
||||
/**
|
||||
* Lazy loads the runtime implementations for a Twig element.
|
||||
*
|
||||
* @author Robin Chalas <robin.chalas@gmail.com>
|
||||
*/
|
||||
class FactoryRuntimeLoader implements RuntimeLoaderInterface
|
||||
{
|
||||
private $map;
|
||||
|
||||
/**
|
||||
* @param array $map An array where keys are class names and values factory callables
|
||||
*/
|
||||
public function __construct($map = [])
|
||||
{
|
||||
$this->map = $map;
|
||||
}
|
||||
|
||||
public function load($class)
|
||||
{
|
||||
if (isset($this->map[$class])) {
|
||||
$runtimeFactory = $this->map[$class];
|
||||
|
||||
return $runtimeFactory();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class_alias('Twig\RuntimeLoader\FactoryRuntimeLoader', 'Twig_FactoryRuntimeLoader');
|
||||
31
system/libs/Twig/RuntimeLoader/RuntimeLoaderInterface.php
Normal file
31
system/libs/Twig/RuntimeLoader/RuntimeLoaderInterface.php
Normal file
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of Twig.
|
||||
*
|
||||
* (c) Fabien Potencier
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Twig\RuntimeLoader;
|
||||
|
||||
/**
|
||||
* Creates runtime implementations for Twig elements (filters/functions/tests).
|
||||
*
|
||||
* @author Fabien Potencier <fabien@symfony.com>
|
||||
*/
|
||||
interface RuntimeLoaderInterface
|
||||
{
|
||||
/**
|
||||
* Creates the runtime implementation of a Twig element (filter/function/test).
|
||||
*
|
||||
* @param string $class A runtime class
|
||||
*
|
||||
* @return object|null The runtime instance or null if the loader does not know how to create the runtime for this class
|
||||
*/
|
||||
public function load($class);
|
||||
}
|
||||
|
||||
class_alias('Twig\RuntimeLoader\RuntimeLoaderInterface', 'Twig_RuntimeLoaderInterface');
|
||||
Reference in New Issue
Block a user