migration symfony 5 4 (#300)

* symfony 5.4 (diff dev)

* symfony 5.4 (working)

* symfony 5.4 (update autoload)

* symfony 5.4 (remove swiftmailer mailer implementation)

* symfony 5.4 (php doc and split Global accessor class)


### Impacted packages:

composer require php:">=7.2.5 <8.0.0" symfony/console:5.4.* symfony/dotenv:5.4.* symfony/framework-bundle:5.4.* symfony/twig-bundle:5.4.* symfony/yaml:5.4.* --update-with-dependencies

composer require symfony/stopwatch:5.4.* symfony/web-profiler-bundle:5.4.* --dev --update-with-dependencies
This commit is contained in:
bdalsass
2022-06-16 09:13:24 +02:00
committed by GitHub
parent abb13b70b9
commit 79da71ecf8
2178 changed files with 87439 additions and 59451 deletions

View File

@@ -15,8 +15,10 @@ namespace Symfony\Component\Config\Resource;
* ComposerResource tracks the PHP version and Composer dependencies.
*
* @author Nicolas Grekas <p@tchwork.com>
*
* @final
*/
class ComposerResource implements SelfCheckingResourceInterface, \Serializable
class ComposerResource implements SelfCheckingResourceInterface
{
private $vendors;
@@ -28,15 +30,12 @@ class ComposerResource implements SelfCheckingResourceInterface, \Serializable
$this->vendors = self::$runtimeVendors;
}
public function getVendors()
public function getVendors(): array
{
return array_keys($this->vendors);
}
/**
* {@inheritdoc}
*/
public function __toString()
public function __toString(): string
{
return __CLASS__;
}
@@ -44,38 +43,22 @@ class ComposerResource implements SelfCheckingResourceInterface, \Serializable
/**
* {@inheritdoc}
*/
public function isFresh($timestamp)
public function isFresh(int $timestamp): bool
{
self::refresh();
return array_values(self::$runtimeVendors) === array_values($this->vendors);
}
/**
* @internal
*/
public function serialize()
{
return serialize($this->vendors);
}
/**
* @internal
*/
public function unserialize($serialized)
{
$this->vendors = unserialize($serialized);
}
private static function refresh()
{
self::$runtimeVendors = [];
foreach (get_declared_classes() as $class) {
if ('C' === $class[0] && 0 === strpos($class, 'ComposerAutoloaderInit')) {
if ('C' === $class[0] && str_starts_with($class, 'ComposerAutoloaderInit')) {
$r = new \ReflectionClass($class);
$v = \dirname(\dirname($r->getFileName()));
if (file_exists($v.'/composer/installed.json')) {
$v = \dirname($r->getFileName(), 2);
if (is_file($v.'/composer/installed.json')) {
self::$runtimeVendors[$v] = @filemtime($v.'/composer/installed.json');
}
}