Merge branch '4.3' into 4.4
* 4.3: [ProxyManager] fix generating proxies for root-namespaced classes [DI] skip looking for config class when the extension class is anonymous Fix typo [Dotenv] FIX missing getenv [HttpClient][Psr18Client] Remove Psr18ExceptionTrait
This commit is contained in:
commit
c4ec3c24f2
@ -85,6 +85,7 @@ EOF;
|
|||||||
public function getProxyCode(Definition $definition): string
|
public function getProxyCode(Definition $definition): string
|
||||||
{
|
{
|
||||||
$code = $this->classGenerator->generate($this->generateProxyClass($definition));
|
$code = $this->classGenerator->generate($this->generateProxyClass($definition));
|
||||||
|
$code = preg_replace('/^(class [^ ]++ extends )([^\\\\])/', '$1\\\\$2', $code);
|
||||||
|
|
||||||
if (version_compare(self::getProxyManagerVersion(), '2.2', '<')) {
|
if (version_compare(self::getProxyManagerVersion(), '2.2', '<')) {
|
||||||
$code = preg_replace(
|
$code = preg_replace(
|
||||||
|
@ -21,5 +21,5 @@ class LazyServiceProjectServiceContainer extends Container
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class stdClass_%s extends %SstdClass implements \ProxyManager\%s
|
class stdClass_%s extends \stdClass implements \ProxyManager\%s
|
||||||
{%a}%A
|
{%a}%A
|
||||||
|
@ -80,6 +80,11 @@ abstract class Extension implements ExtensionInterface, ConfigurationExtensionIn
|
|||||||
public function getConfiguration(array $config, ContainerBuilder $container)
|
public function getConfiguration(array $config, ContainerBuilder $container)
|
||||||
{
|
{
|
||||||
$class = \get_class($this);
|
$class = \get_class($this);
|
||||||
|
|
||||||
|
if (false !== strpos($class, "\0")) {
|
||||||
|
return null; // ignore anonymous classes
|
||||||
|
}
|
||||||
|
|
||||||
$class = substr_replace($class, '\Configuration', strrpos($class, '\\'));
|
$class = substr_replace($class, '\Configuration', strrpos($class, '\\'));
|
||||||
$class = $container->getReflectionClass($class);
|
$class = $container->getReflectionClass($class);
|
||||||
|
|
||||||
|
@ -463,7 +463,7 @@ final class Dotenv
|
|||||||
} elseif (isset($this->values[$name])) {
|
} elseif (isset($this->values[$name])) {
|
||||||
$value = $this->values[$name];
|
$value = $this->values[$name];
|
||||||
} else {
|
} else {
|
||||||
$value = '';
|
$value = (string) getenv($name);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ('' === $value && isset($matches['default_value']) && '' !== $matches['default_value']) {
|
if ('' === $value && isset($matches['default_value']) && '' !== $matches['default_value']) {
|
||||||
|
@ -443,6 +443,17 @@ class DotenvTest extends TestCase
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testGetVariablesValueFromGetenv()
|
||||||
|
{
|
||||||
|
putenv('Foo=Bar');
|
||||||
|
|
||||||
|
$dotenv = new Dotenv(true);
|
||||||
|
$values = $dotenv->parse('Foo=${Foo}');
|
||||||
|
$this->assertSame('Bar', $values['Foo']);
|
||||||
|
|
||||||
|
putenv('Foo');
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @group legacy
|
* @group legacy
|
||||||
* @expectedDeprecation The default value of "$usePutenv" argument of "%s" will be changed from "true" to "false" in Symfony 5.0. You should define its value explicitly.
|
* @expectedDeprecation The default value of "$usePutenv" argument of "%s" will be changed from "true" to "false" in Symfony 5.0. You should define its value explicitly.
|
||||||
|
@ -190,7 +190,7 @@ final class Psr18Client implements ClientInterface, RequestFactoryInterface, Str
|
|||||||
/**
|
/**
|
||||||
* @internal
|
* @internal
|
||||||
*/
|
*/
|
||||||
trait Psr18ExceptionTrait
|
class Psr18NetworkException extends \RuntimeException implements NetworkExceptionInterface
|
||||||
{
|
{
|
||||||
private $request;
|
private $request;
|
||||||
|
|
||||||
@ -206,18 +206,21 @@ trait Psr18ExceptionTrait
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @internal
|
|
||||||
*/
|
|
||||||
class Psr18NetworkException extends \RuntimeException implements NetworkExceptionInterface
|
|
||||||
{
|
|
||||||
use Psr18ExceptionTrait;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @internal
|
* @internal
|
||||||
*/
|
*/
|
||||||
class Psr18RequestException extends \InvalidArgumentException implements RequestExceptionInterface
|
class Psr18RequestException extends \InvalidArgumentException implements RequestExceptionInterface
|
||||||
{
|
{
|
||||||
use Psr18ExceptionTrait;
|
private $request;
|
||||||
|
|
||||||
|
public function __construct(TransportExceptionInterface $e, RequestInterface $request)
|
||||||
|
{
|
||||||
|
parent::__construct($e->getMessage(), 0, $e);
|
||||||
|
$this->request = $request;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getRequest(): RequestInterface
|
||||||
|
{
|
||||||
|
return $this->request;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -401,13 +401,11 @@ class NativeSessionStorage implements SessionStorageInterface
|
|||||||
* ini_set('session.save_path', '/tmp');
|
* ini_set('session.save_path', '/tmp');
|
||||||
*
|
*
|
||||||
* or pass in a \SessionHandler instance which configures session.save_handler in the
|
* or pass in a \SessionHandler instance which configures session.save_handler in the
|
||||||
* constructor, for a template see NativeFileSessionHandler or use handlers in
|
* constructor, for a template see NativeFileSessionHandler.
|
||||||
* composer package drak/native-session
|
|
||||||
*
|
*
|
||||||
* @see https://php.net/session-set-save-handler
|
* @see https://php.net/session-set-save-handler
|
||||||
* @see https://php.net/sessionhandlerinterface
|
* @see https://php.net/sessionhandlerinterface
|
||||||
* @see https://php.net/sessionhandler
|
* @see https://php.net/sessionhandler
|
||||||
* @see https://github.com/zikula/NativeSession
|
|
||||||
*
|
*
|
||||||
* @param AbstractProxy|\SessionHandlerInterface|null $saveHandler
|
* @param AbstractProxy|\SessionHandlerInterface|null $saveHandler
|
||||||
*
|
*
|
||||||
|
Reference in New Issue
Block a user