Merge branch '4.4'

* 4.4:
  Improve some URLs
  cleanup remaining param  and internal Intl FulLTransformer
  [HttpClient] fix data loss when streaming as a PHP resource
  Fix test compatibility with 4.x components
  [Cache] cs fix
This commit is contained in:
Nicolas Grekas 2019-08-08 17:17:03 +02:00
commit b11129fb47
69 changed files with 185 additions and 257 deletions

View File

@ -125,8 +125,8 @@ class RegisterEventListenersAndSubscribersPass implements CompilerPassInterface
* and knowing that the \SplPriorityQueue class does not respect the FIFO method,
* we should not use this class.
*
* @see https://bugs.php.net/bug.php?id=53710
* @see https://bugs.php.net/bug.php?id=60926
* @see https://bugs.php.net/53710
* @see https://bugs.php.net/60926
*/
private function findAndSortTags(string $tagName, ContainerBuilder $container): array
{

View File

@ -129,7 +129,7 @@ class CodeExtension extends AbstractExtension
{
if (is_file($file) && is_readable($file)) {
// highlight_file could throw warnings
// see https://bugs.php.net/bug.php?id=25725
// see https://bugs.php.net/25725
$code = @highlight_file($file, true);
// remove main code/span tags
$code = preg_replace('#^<code.*?>\s*<span.*?>(.*)</span>\s*</code>#s', '\\1', $code);

View File

@ -129,7 +129,6 @@ abstract class Descriptor implements DescriptorInterface
* * name: name of described service
*
* @param Definition|Alias|object $service
* @param array $options
*/
abstract protected function describeContainerService($service, array $options = [], ContainerBuilder $builder = null);
@ -173,7 +172,6 @@ abstract class Descriptor implements DescriptorInterface
* Describes a callable.
*
* @param callable $callable
* @param array $options
*/
abstract protected function describeCallable($callable, array $options = []);

View File

@ -227,7 +227,7 @@ class FrameworkExtension extends Extension
if ($this->isConfigEnabled($container, $config['session'])) {
if (!\extension_loaded('session')) {
throw new LogicException('Session support cannot be enabled as the session extension is not installed. See https://www.php.net/session.installation for instructions.');
throw new LogicException('Session support cannot be enabled as the session extension is not installed. See https://php.net/session.installation for instructions.');
}
$this->sessionConfigEnabled = true;

View File

@ -37,7 +37,6 @@ class Router extends BaseRouter implements WarmableInterface, ServiceSubscriberI
/**
* @param mixed $resource The main resource to load
* @param array $options An array of options
*/
public function __construct(ContainerInterface $container, $resource, array $options = [], RequestContext $context = null, ContainerInterface $parameters = null, LoggerInterface $logger = null, string $defaultLocale = null)
{

View File

@ -65,10 +65,6 @@ class Translator extends BaseTranslator implements WarmableInterface
* * debug: Whether to enable debugging or not (false by default)
* * resource_files: List of translation resources available grouped by locale.
*
* @param string $defaultLocale
* @param array $loaderIds An array of loader Ids
* @param array $options An array of options
*
* @throws InvalidArgumentException
*/
public function __construct(ContainerInterface $container, MessageFormatterInterface $formatter, string $defaultLocale, array $loaderIds = [], array $options = [])

View File

@ -18,7 +18,7 @@ class PredisAdapterTest extends AbstractRedisAdapterTest
{
public static function setUpBeforeClass(): void
{
parent::setupBeforeClass();
parent::setUpBeforeClass();
self::$redis = new \Predis\Client(['host' => getenv('REDIS_HOST')]);
}

View File

@ -15,7 +15,7 @@ class PredisClusterAdapterTest extends AbstractRedisAdapterTest
{
public static function setUpBeforeClass(): void
{
parent::setupBeforeClass();
parent::setUpBeforeClass();
self::$redis = new \Predis\Client([['host' => getenv('REDIS_HOST')]]);
}

View File

@ -19,7 +19,7 @@ class RedisAdapterTest extends AbstractRedisAdapterTest
{
public static function setUpBeforeClass(): void
{
parent::setupBeforeClass();
parent::setUpBeforeClass();
self::$redis = AbstractAdapter::createConnection('redis://'.getenv('REDIS_HOST'), ['lazy' => true]);
}

View File

@ -24,7 +24,6 @@ interface DescriptorInterface
* Describes an object if supported.
*
* @param object $object
* @param array $options
*/
public function describe(OutputInterface $output, $object, array $options = []);
}

View File

@ -61,7 +61,6 @@ class OutputFormatterStyle implements OutputFormatterStyleInterface
*
* @param string|null $foreground The style foreground color name
* @param string|null $background The style background color name
* @param array $options The style options
*/
public function __construct(string $foreground = null, string $background = null, array $options = [])
{

View File

@ -49,7 +49,6 @@ class DescriptorHelper extends Helper
* * raw_text: boolean, sets output type as raw
*
* @param object $object
* @param array $options
*
* @throws InvalidArgumentException when the given format is not supported
*/

View File

@ -22,7 +22,7 @@ use Symfony\Component\Console\Output\OutputInterface;
*
* @author Kévin Dunglas <dunglas@gmail.com>
*
* @see http://www.php-fig.org/psr/psr-3/
* @see https://www.php-fig.org/psr/psr-3/
*/
class ConsoleLogger extends AbstractLogger
{

View File

@ -31,8 +31,8 @@ trait PriorityTaggedServiceTrait
* and knowing that the \SplPriorityQueue class does not respect the FIFO method,
* we should not use that class.
*
* @see https://bugs.php.net/bug.php?id=53710
* @see https://bugs.php.net/bug.php?id=60926
* @see https://bugs.php.net/53710
* @see https://bugs.php.net/60926
*
* @param string|TaggedIteratorArgument $tagName
*

View File

@ -21,8 +21,6 @@ interface DumperInterface
/**
* Dumps the service container.
*
* @param array $options An array of options
*
* @return string The representation of the service container
*/
public function dump(array $options = []);

View File

@ -239,7 +239,7 @@ class HtmlErrorRenderer implements ErrorRendererInterface
{
if (is_file($file) && is_readable($file)) {
// highlight_file could throw warnings
// see https://bugs.php.net/bug.php?id=25725
// see https://bugs.php.net/25725
$code = @highlight_file($file, true);
// remove main code/span tags
$code = preg_replace('#^<code.*?>\s*<span.*?>(.*)</span>\s*</code>#s', '\\1', $code);

View File

@ -270,7 +270,7 @@ class EventDispatcherTest extends TestCase
}
/**
* @see https://bugs.php.net/bug.php?id=62976
* @see https://bugs.php.net/62976
*
* This bug affects:
* - The PHP 5.3 branch for versions < 5.3.18

View File

@ -49,7 +49,7 @@ class Filesystem
}
if ($doCopy) {
// https://bugs.php.net/bug.php?id=64634
// https://bugs.php.net/64634
if (false === $source = @fopen($originFile, 'r')) {
throw new IOException(sprintf('Failed to copy "%s" to "%s" because source file could not be opened for reading.', $originFile, $targetFile), 0, null, $originFile);
}
@ -268,7 +268,7 @@ class Filesystem
if (true !== @rename($origin, $target)) {
if (is_dir($origin)) {
// See https://bugs.php.net/bug.php?id=54097 & http://php.net/manual/en/function.rename.php#113943
// See https://bugs.php.net/54097 & https://php.net/rename#113943
$this->mirror($origin, $target, null, ['override' => $overwrite, 'delete' => $overwrite]);
$this->remove($origin);

View File

@ -144,7 +144,7 @@ class FilesystemTestCase extends TestCase
$this->markTestSkipped('symlink requires "Create symbolic links" privilege on Windows');
}
// https://bugs.php.net/bug.php?id=69473
// https://bugs.php.net/69473
if ($relative && '\\' === \DIRECTORY_SEPARATOR && 1 === PHP_ZTS) {
$this->markTestSkipped('symlink does not support relative paths on thread safe Windows PHP versions');
}

View File

@ -136,7 +136,7 @@ class DateTimeToLocalizedStringTransformer extends BaseDateTimeTransformer
$dateTime = new \DateTime(sprintf('@%s', $timestamp));
}
// set timezone separately, as it would be ignored if set via the constructor,
// see http://php.net/manual/en/datetime.construct.php
// see https://php.net/datetime.construct
$dateTime->setTimezone(new \DateTimeZone($this->outputTimezone));
} catch (\Exception $e) {
throw new TransformationFailedException($e->getMessage(), $e->getCode(), $e);
@ -169,7 +169,7 @@ class DateTimeToLocalizedStringTransformer extends BaseDateTimeTransformer
$intlDateFormatter = new \IntlDateFormatter(\Locale::getDefault(), $dateFormat, $timeFormat, $timezone, $calendar, $pattern);
// new \intlDateFormatter may return null instead of false in case of failure, see https://bugs.php.net/bug.php?id=66323
// new \intlDateFormatter may return null instead of false in case of failure, see https://bugs.php.net/66323
if (!$intlDateFormatter) {
throw new TransformationFailedException(intl_get_error_message(), intl_get_error_code());
}

View File

@ -54,7 +54,7 @@ class DateTimeToStringTransformer extends BaseDateTimeTransformer
$this->generateFormat = $this->parseFormat = $format;
// See http://php.net/manual/en/datetime.createfromformat.php
// See https://php.net/datetime.createfromformat
// The character "|" in the format makes sure that the parts of a date
// that are *not* specified in the format are reset to the corresponding
// values from 1970-01-01 00:00:00 instead of the current time.

View File

@ -32,8 +32,6 @@ class ResizeFormListener implements EventSubscriberInterface
private $deleteEmpty;
/**
* @param string $type
* @param array $options
* @param bool $allowAdd Whether children could be added to the group
* @param bool $allowDelete Whether children could be removed from the group
* @param bool|callable $deleteEmpty

View File

@ -76,7 +76,7 @@ abstract class BaseType extends AbstractType
// Strip leading underscores and digits. These are allowed in
// form names, but not in HTML4 ID attributes.
// http://www.w3.org/TR/html401/struct/global.html#adef-id
// https://www.w3.org/TR/html401/struct/global#adef-id
$id = ltrim($id, '_0123456789');
}

View File

@ -109,13 +109,13 @@ class DateType extends AbstractType
\Locale::getDefault(),
$dateFormat,
$timeFormat,
// see https://bugs.php.net/bug.php?id=66323
// see https://bugs.php.net/66323
class_exists('IntlTimeZone', false) ? \IntlTimeZone::createDefault() : null,
$calendar,
$pattern
);
// new \IntlDateFormatter may return null instead of false in case of failure, see https://bugs.php.net/bug.php?id=66323
// new \IntlDateFormatter may return null instead of false in case of failure, see https://bugs.php.net/66323
if (!$formatter) {
throw new InvalidOptionsException(intl_get_error_message(), intl_get_error_code());
}

View File

@ -16,6 +16,7 @@ use PHPUnit\Framework\TestCase;
use Symfony\Component\EventDispatcher\EventDispatcher;
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
use Symfony\Component\Form\FormBuilder;
use Symfony\Component\Form\FormInterface;
abstract class AbstractFormTest extends TestCase
{
@ -30,7 +31,7 @@ abstract class AbstractFormTest extends TestCase
protected $factory;
/**
* @var \Symfony\Component\Form\FormInterface
* @var FormInterface
*/
protected $form;
@ -48,43 +49,24 @@ abstract class AbstractFormTest extends TestCase
$this->form = null;
}
/**
* @return \Symfony\Component\Form\FormInterface
*/
abstract protected function createForm();
abstract protected function createForm(): FormInterface;
/**
* @param string $name
* @param string|null $dataClass
* @param array $options
*
* @return FormBuilder
*/
protected function getBuilder($name = 'name', EventDispatcherInterface $dispatcher = null, $dataClass = null, array $options = [])
protected function getBuilder(?string $name = 'name', EventDispatcherInterface $dispatcher = null, string $dataClass = null, array $options = []): FormBuilder
{
return new FormBuilder($name, $dataClass, $dispatcher ?: $this->dispatcher, $this->factory, $options);
}
/**
* @return MockObject
*/
protected function getDataMapper()
protected function getDataMapper(): MockObject
{
return $this->getMockBuilder('Symfony\Component\Form\DataMapperInterface')->getMock();
}
/**
* @return MockObject
*/
protected function getDataTransformer()
protected function getDataTransformer(): MockObject
{
return $this->getMockBuilder('Symfony\Component\Form\DataTransformerInterface')->getMock();
}
/**
* @return MockObject
*/
protected function getFormValidator()
protected function getFormValidator(): MockObject
{
return $this->getMockBuilder('Symfony\Component\Form\FormValidatorInterface')->getMock();
}

View File

@ -17,6 +17,7 @@ use Symfony\Component\Form\Extension\HttpFoundation\HttpFoundationRequestHandler
use Symfony\Component\Form\FormError;
use Symfony\Component\Form\FormEvent;
use Symfony\Component\Form\FormEvents;
use Symfony\Component\Form\FormInterface;
use Symfony\Component\Form\Forms;
use Symfony\Component\Form\FormView;
use Symfony\Component\Form\SubmitButtonBuilder;
@ -190,7 +191,7 @@ class CompoundFormTest extends AbstractFormTest
public function testAddUsingIntegerNameAndType()
{
$child = $this->getBuilder(0)->getForm();
$child = $this->getBuilder('0')->getForm();
$this->factory->expects($this->once())
->method('createNamed')
@ -1123,7 +1124,7 @@ class CompoundFormTest extends AbstractFormTest
$this->assertNull($this->form->get('bar')->getData());
}
protected function createForm($name = 'name', $compound = true)
protected function createForm(string $name = 'name', bool $compound = true): FormInterface
{
$builder = $this->getBuilder($name);

View File

@ -18,6 +18,7 @@ use Symfony\Component\Form\FormConfigBuilder;
use Symfony\Component\Form\FormError;
use Symfony\Component\Form\FormEvent;
use Symfony\Component\Form\FormEvents;
use Symfony\Component\Form\FormInterface;
use Symfony\Component\Form\Tests\Fixtures\FixedDataTransformer;
use Symfony\Component\Form\Tests\Fixtures\FixedFilterListener;
use Symfony\Component\PropertyAccess\PropertyPath;
@ -1096,7 +1097,7 @@ class SimpleFormTest extends AbstractFormTest
$form->setData('foo');
}
protected function createForm()
protected function createForm(): FormInterface
{
return $this->getBuilder()->getForm();
}

View File

@ -76,7 +76,7 @@ final class CurlHttpClient implements HttpClientInterface, LoggerAwareInterface
curl_multi_setopt($this->multi->handle, CURLMOPT_MAX_HOST_CONNECTIONS, 0 < $maxHostConnections ? $maxHostConnections : PHP_INT_MAX);
}
// Skip configuring HTTP/2 push when it's unsupported or buggy, see https://bugs.php.net/bug.php?id=77535
// Skip configuring HTTP/2 push when it's unsupported or buggy, see https://bugs.php.net/77535
if (0 >= $maxPendingPushes || \PHP_VERSION_ID < 70217 || (\PHP_VERSION_ID >= 70300 && \PHP_VERSION_ID < 70304)) {
return;
}

View File

@ -22,7 +22,7 @@ use Symfony\Contracts\HttpClient\ResponseInterface;
*/
class StreamWrapper
{
/** @var resource */
/** @var resource|string|null */
public $context;
/** @var HttpClientInterface */
@ -103,7 +103,7 @@ class StreamWrapper
public function stream_read(int $count)
{
if (null !== $this->content) {
if (\is_resource($this->content)) {
// Empty the internal activity list
foreach ($this->client->stream([$this->response], 0) as $chunk) {
try {
@ -127,6 +127,19 @@ class StreamWrapper
}
}
if (\is_string($this->content)) {
if (\strlen($this->content) <= $count) {
$data = $this->content;
$this->content = null;
} else {
$data = substr($this->content, 0, $count);
$this->content = substr($this->content, $count);
}
$this->offset += \strlen($data);
return $data;
}
foreach ($this->client->stream([$this->response]) as $chunk) {
try {
$this->eof = true;
@ -134,6 +147,12 @@ class StreamWrapper
$this->eof = $chunk->isLast();
if ('' !== $data = $chunk->getContent()) {
if (\strlen($data) > $count) {
if (null === $this->content) {
$this->content = substr($data, $count);
}
$data = substr($data, 0, $count);
}
$this->offset += \strlen($data);
return $data;
@ -155,12 +174,12 @@ class StreamWrapper
public function stream_eof(): bool
{
return $this->eof;
return $this->eof && !\is_string($this->content);
}
public function stream_seek(int $offset, int $whence = SEEK_SET): bool
{
if (null === $this->content || 0 !== fseek($this->content, 0, SEEK_END)) {
if (!\is_resource($this->content) || 0 !== fseek($this->content, 0, SEEK_END)) {
return false;
}

View File

@ -94,7 +94,7 @@ CHANGELOG
-----
* the `Request::setTrustedProxies()` method takes a new `$trustedHeaderSet` argument,
see http://symfony.com/doc/current/components/http_foundation/trusting_proxies.html for more info,
see https://symfony.com/doc/current/deployment/proxies.html for more info,
* deprecated the `Request::setTrustedHeaderName()` and `Request::getTrustedHeaderName()` methods,
* added `File\Stream`, to be passed to `BinaryFileResponse` when the size of the served file is unknown,
disabling `Range` and `Content-Length` handling, switching to chunked encoding instead

View File

@ -100,7 +100,7 @@ class JsonResponse extends Response
public function setCallback($callback = null)
{
if (null !== $callback) {
// partially taken from http://www.geekality.net/2011/08/03/valid-javascript-identifier/
// partially taken from https://geekality.net/2011/08/03/valid-javascript-identifier/
// partially taken from https://github.com/willdurand/JsonpCallbackValidator
// JsonpCallbackValidator is released under the MIT License. See https://github.com/willdurand/JsonpCallbackValidator/blob/v1.1.0/LICENSE for details.
// (c) William Durand <william.durand1@gmail.com>

View File

@ -191,7 +191,7 @@ class ParameterBag implements \IteratorAggregate, \Countable
* @param int $filter FILTER_* constant
* @param mixed $options Filter options
*
* @see http://php.net/manual/en/function.filter-var.php
* @see https://php.net/filter-var
*
* @return mixed
*/

View File

@ -30,7 +30,7 @@ class RedirectResponse extends Response
*
* @throws \InvalidArgumentException
*
* @see http://tools.ietf.org/html/rfc2616#section-10.3
* @see https://tools.ietf.org/html/rfc2616#section-10.3
*/
public function __construct(string $url, int $status = 302, array $headers = [])
{

View File

@ -797,7 +797,7 @@ class Request
* @return string The client IP address
*
* @see getClientIps()
* @see http://en.wikipedia.org/wiki/X-Forwarded-For
* @see https://wikipedia.org/wiki/X-Forwarded-For
*/
public function getClientIp()
{
@ -1082,7 +1082,7 @@ class Request
// A reference to the same base directory or an empty subdirectory must be prefixed with "./".
// This also applies to a segment with a colon character (e.g., "file:colon") that cannot be used
// as the first segment of a relative-path reference, as it would be mistaken for a scheme name
// (see http://tools.ietf.org/html/rfc3986#section-4.2).
// (see https://tools.ietf.org/html/rfc3986#section-4.2).
return !isset($path[0]) || '/' === $path[0]
|| false !== ($colonPos = strpos($path, ':')) && ($colonPos < ($slashPos = strpos($path, '/')) || false === $slashPos)
? "./$path" : $path;
@ -1706,7 +1706,7 @@ class Request
* It works if your JavaScript library sets an X-Requested-With HTTP header.
* It is known to work with common JavaScript frameworks:
*
* @see http://en.wikipedia.org/wiki/List_of_Ajax_frameworks#JavaScript
* @see https://wikipedia.org/wiki/List_of_Ajax_frameworks#JavaScript
*
* @return bool true if the request is an XMLHttpRequest, false otherwise
*/
@ -1718,9 +1718,9 @@ class Request
/*
* The following methods are derived from code of the Zend Framework (1.10dev - 2010-01-24)
*
* Code subject to the new BSD license (http://framework.zend.com/license/new-bsd).
* Code subject to the new BSD license (https://framework.zend.com/license).
*
* Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* Copyright (c) 2005-2010 Zend Technologies USA Inc. (https://www.zend.com/)
*/
protected function prepareRequestUri()

View File

@ -116,7 +116,7 @@ class Response
* Status codes translation table.
*
* The list of codes is complete according to the
* {@link http://www.iana.org/assignments/http-status-codes/ Hypertext Transfer Protocol (HTTP) Status Code Registry}
* {@link https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml Hypertext Transfer Protocol (HTTP) Status Code Registry}
* (last updated 2016-03-01).
*
* Unless otherwise noted, the status code is defined in RFC2616.
@ -985,7 +985,7 @@ class Response
*
* @return $this
*
* @see http://tools.ietf.org/html/rfc2616#section-10.3.5
* @see https://tools.ietf.org/html/rfc2616#section-10.3.5
*
* @final
*/
@ -1087,7 +1087,7 @@ class Response
/**
* Is response invalid?
*
* @see http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
* @see https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
*
* @final
*/

View File

@ -79,7 +79,7 @@ class ServerBag extends ParameterBag
/*
* XXX: Since there is no PHP_AUTH_BEARER in PHP predefined variables,
* I'll just set $headers['AUTHORIZATION'] here.
* http://php.net/manual/en/reserved.variables.server.php
* https://php.net/reserved.variables.server
*/
$headers['AUTHORIZATION'] = $authorizationHeader;
}

View File

@ -15,7 +15,7 @@ namespace Symfony\Component\HttpFoundation\Session\Storage\Handler;
* Memcached based session storage handler based on the Memcached class
* provided by the PHP memcached extension.
*
* @see http://php.net/memcached
* @see https://php.net/memcached
*
* @author Drak <drak@zikula.org>
*/
@ -41,7 +41,6 @@ class MemcachedSessionHandler extends AbstractSessionHandler
* * expiretime: The time to live in seconds.
*
* @param \Memcached $memcached A \Memcached instance
* @param array $options An associative array of Memcached options
*
* @throws \InvalidArgumentException When unsupported options are passed
*/

View File

@ -56,14 +56,11 @@ class MongoDbSessionHandler extends AbstractSessionHandler
* { "expireAfterSeconds": 0 }
* )
*
* More details on: http://docs.mongodb.org/manual/tutorial/expire-data/
* More details on: https://docs.mongodb.org/manual/tutorial/expire-data/
*
* If you use such an index, you can drop `gc_probability` to 0 since
* no garbage-collection is required.
*
* @param \MongoDB\Client $mongo A MongoDB\Client instance
* @param array $options An associative array of field options
*
* @throws \InvalidArgumentException When "database" or "collection" not provided
*/
public function __construct(\MongoDB\Client $mongo, array $options)

View File

@ -23,7 +23,7 @@ class NativeFileSessionHandler extends \SessionHandler
* Default null will leave setting as defined by PHP.
* '/path', 'N;/path', or 'N;octal-mode;/path
*
* @see https://php.net/manual/session.configuration.php#ini.session.save-path for further details.
* @see https://php.net/session.configuration#ini.session.save-path for further details.
*
* @throws \InvalidArgumentException On invalid $savePath
* @throws \RuntimeException When failing to create the save directory

View File

@ -32,7 +32,7 @@ namespace Symfony\Component\HttpFoundation\Session\Storage\Handler;
* Saving it in a character column could corrupt the data. You can use createTable()
* to initialize a correctly defined table.
*
* @see http://php.net/sessionhandlerinterface
* @see https://php.net/sessionhandlerinterface
*
* @author Fabien Potencier <fabien@symfony.com>
* @author Michael Williams <michael.williams@funsational.com>
@ -165,7 +165,6 @@ class PdoSessionHandler extends AbstractSessionHandler
* * lock_mode: The strategy for locking, see constants [default: LOCK_TRANSACTIONAL]
*
* @param \PDO|string|null $pdoOrDsn A \PDO instance or DSN string or URL string or null
* @param array $options An associative array of options
*
* @throws \InvalidArgumentException When PDO error mode is not PDO::ERRMODE_EXCEPTION
*/
@ -532,7 +531,7 @@ class PdoSessionHandler extends AbstractSessionHandler
* PDO::rollback or PDO::inTransaction for SQLite.
*
* Also MySQLs default isolation, REPEATABLE READ, causes deadlock for different sessions
* due to http://www.mysqlperformanceblog.com/2013/12/12/one-more-innodb-gap-lock-to-avoid/ .
* due to https://percona.com/blog/2013/12/12/one-more-innodb-gap-lock-to-avoid/ .
* So we change it to READ COMMITTED.
*/
private function beginTransaction()
@ -832,7 +831,7 @@ class PdoSessionHandler extends AbstractSessionHandler
break;
case 'sqlsrv' === $this->driver && version_compare($this->pdo->getAttribute(\PDO::ATTR_SERVER_VERSION), '10', '>='):
// MERGE is only available since SQL Server 2008 and must be terminated by semicolon
// It also requires HOLDLOCK according to http://weblogs.sqlteam.com/dang/archive/2009/01/31/UPSERT-Race-Condition-With-MERGE.aspx
// It also requires HOLDLOCK according to https://weblogs.sqlteam.com/dang/2009/01/31/upsert-race-condition-with-merge/
$mergeSql = "MERGE INTO $this->table WITH (HOLDLOCK) USING (SELECT 1 AS dummy) AS src ON ($this->idCol = ?) ".
"WHEN NOT MATCHED THEN INSERT ($this->idCol, $this->dataCol, $this->lifetimeCol, $this->timeCol) VALUES (?, ?, ?, ?) ".
"WHEN MATCHED THEN UPDATE SET $this->dataCol = ?, $this->lifetimeCol = ?, $this->timeCol = ?;";
@ -845,7 +844,7 @@ class PdoSessionHandler extends AbstractSessionHandler
"ON CONFLICT ($this->idCol) DO UPDATE SET ($this->dataCol, $this->lifetimeCol, $this->timeCol) = (EXCLUDED.$this->dataCol, EXCLUDED.$this->lifetimeCol, EXCLUDED.$this->timeCol)";
break;
default:
// MERGE is not supported with LOBs: http://www.oracle.com/technetwork/articles/fuecks-lobs-095315.html
// MERGE is not supported with LOBs: https://oracle.com/technetwork/articles/fuecks-lobs-095315.html
return null;
}

View File

@ -35,7 +35,6 @@ class RedisSessionHandler extends AbstractSessionHandler
* * prefix: The prefix to use for the keys in order to avoid collision on the Redis server.
*
* @param \Redis|\RedisArray|\RedisCluster|\Predis\Client|RedisProxy $redis
* @param array $options An associative array of options
*
* @throws \InvalidArgumentException When unsupported client or options are passed
*/

View File

@ -60,7 +60,7 @@ class NativeSessionStorage implements SessionStorageInterface
*
* List of options for $options array with their defaults.
*
* @see http://php.net/session.configuration for options
* @see https://php.net/session.configuration for options
* but we omit 'session.' from the beginning of the keys for convenience.
*
* ("auto_start", is not supported as it tells PHP to start a session before
@ -97,7 +97,6 @@ class NativeSessionStorage implements SessionStorageInterface
* trans_sid_hosts, $_SERVER['HTTP_HOST']
* trans_sid_tags, "a=href,area=href,frame=src,form="
*
* @param array $options Session configuration options
* @param \SessionHandlerInterface|null $handler
*/
public function __construct(array $options = [], $handler = null, MetadataBag $metaBag = null)
@ -222,7 +221,7 @@ class NativeSessionStorage implements SessionStorageInterface
$isRegenerated = session_regenerate_id($destroy);
// The reference to $_SESSION in session bags is lost in PHP7 and we need to re-create it.
// @see https://bugs.php.net/bug.php?id=70013
// @see https://bugs.php.net/70013
$this->loadSession();
if (null !== $this->emulateSameSite) {
@ -354,7 +353,7 @@ class NativeSessionStorage implements SessionStorageInterface
*
* @param array $options Session ini directives [key => value]
*
* @see http://php.net/session.configuration
* @see https://php.net/session.configuration
*/
public function setOptions(array $options)
{
@ -400,10 +399,10 @@ class NativeSessionStorage implements SessionStorageInterface
* constructor, for a template see NativeFileSessionHandler or use handlers in
* composer package drak/native-session
*
* @see http://php.net/session-set-save-handler
* @see http://php.net/sessionhandlerinterface
* @see http://php.net/sessionhandler
* @see http://github.com/drak/NativeSession
* @see https://php.net/session-set-save-handler
* @see https://php.net/sessionhandlerinterface
* @see https://php.net/sessionhandler
* @see https://github.com/zikula/NativeSession
*
* @param \SessionHandlerInterface|null $saveHandler
*

View File

@ -77,7 +77,7 @@ interface SessionStorageInterface
* only delete the session data from persistent storage.
*
* Care: When regenerating the session ID no locking is involved in PHP's
* session design. See https://bugs.php.net/bug.php?id=61470 for a discussion.
* session design. See https://bugs.php.net/61470 for a discussion.
* So you must make sure the regenerated session is saved BEFORE sending the
* headers with the new ID. Symfony's HttpKernel offers a listener for this.
* See Symfony\Component\HttpKernel\EventListener\SaveSessionListener.

View File

@ -106,7 +106,7 @@ abstract class AbstractSessionListener implements EventSubscriberInterface
* the one above. But by saving the session before long-running things in the terminate event,
* we ensure the session is not blocked longer than needed.
* * When regenerating the session ID no locking is involved in PHPs session design. See
* https://bugs.php.net/bug.php?id=61470 for a discussion. So in this case, the session must
* https://bugs.php.net/61470 for a discussion. So in this case, the session must
* be saved anyway before sending the headers with the new session ID. Otherwise session
* data could get lost again for concurrent requests with the new ID. One result could be
* that you get logged out after just logging in.

View File

@ -62,7 +62,6 @@ class FragmentHandler
*
* @param string|ControllerReference $uri A URI as a string or a ControllerReference instance
* @param string $renderer The renderer name
* @param array $options An array of options
*
* @return string|null The Response content or null when the Response is streamed
*

View File

@ -25,8 +25,7 @@ interface FragmentRendererInterface
/**
* Renders a URI and returns the Response content.
*
* @param string|ControllerReference $uri A URI as a string or a ControllerReference instance
* @param array $options An array of options
* @param string|ControllerReference $uri A URI as a string or a ControllerReference instance
*
* @return Response A Response instance
*/

View File

@ -128,7 +128,7 @@ class Profiler implements ResetInterface
*
* @return array An array of tokens
*
* @see http://php.net/manual/en/datetime.formats.php for the supported date/time formats
* @see https://php.net/datetime.formats for the supported date/time formats
*/
public function find($ip, $url, $limit, $method, $start, $end, $statusCode = null)
{

View File

@ -130,7 +130,7 @@ class Collator
* 0 if $str1 is equal than $str2
* -1 if $str1 is less than $str2
*
* @see http://www.php.net/manual/en/collator.compare.php
* @see https://php.net/collator.compare
*
* @throws MethodNotImplementedException
*/
@ -146,7 +146,7 @@ class Collator
*
* @return bool|int The attribute value on success or false on error
*
* @see http://www.php.net/manual/en/collator.getattribute.php
* @see https://php.net/collator.getattribute
*
* @throws MethodNotImplementedException
*/
@ -195,7 +195,7 @@ class Collator
*
* @return string The collation key for $string
*
* @see http://www.php.net/manual/en/collator.getsortkey.php
* @see https://php.net/collator.getsortkey
*
* @throws MethodNotImplementedException
*/
@ -209,7 +209,7 @@ class Collator
*
* @return bool|int The current collator's strength or false on failure
*
* @see http://www.php.net/manual/en/collator.getstrength.php
* @see https://php.net/collator.getstrength
*
* @throws MethodNotImplementedException
*/
@ -226,7 +226,7 @@ class Collator
*
* @return bool True on success or false on failure
*
* @see http://www.php.net/manual/en/collator.setattribute.php
* @see https://php.net/collator.setattribute
*
* @throws MethodNotImplementedException
*/
@ -248,7 +248,7 @@ class Collator
*
* @return bool True on success or false on failure
*
* @see http://www.php.net/manual/en/collator.setstrength.php
* @see https://php.net/collator.setstrength
*
* @throws MethodNotImplementedException
*/
@ -264,7 +264,7 @@ class Collator
*
* @return bool True on success or false on failure
*
* @see http://www.php.net/manual/en/collator.sortwithsortkeys.php
* @see https://php.net/collator.sortwithsortkeys
*
* @throws MethodNotImplementedException
*/
@ -284,7 +284,7 @@ class Collator
*
* @return bool True on success or false on failure
*
* @see http://www.php.net/manual/en/collator.sort.php
* @see https://php.net/collator.sort
*
* @throws MethodNotImplementedException
*/

View File

@ -27,7 +27,7 @@ use Symfony\Component\Intl\Exception\RuntimeException;
class LanguageDataGenerator extends AbstractDataGenerator
{
/**
* Source: http://www-01.sil.org/iso639-3/codes.asp.
* Source: https://iso639-3.sil.org/code_tables/639/data
*/
private static $preferredAlpha2ToAlpha3Mapping = [
'ak' => 'aka',

View File

@ -16,7 +16,7 @@ use Symfony\Component\Intl\Exception\BadMethodCallException;
/**
* Work-around for a bug in PHP's \ResourceBundle implementation.
*
* More information can be found on https://bugs.php.net/bug.php?id=64356.
* More information can be found on https://bugs.php.net/64356.
* This class can be removed once that bug is fixed.
*
* @author Bernhard Schussek <bschussek@gmail.com>

View File

@ -69,21 +69,9 @@ class FullTransformer
];
}
/**
* Return the array of Transformer objects.
*
* @return Transformer[] Associative array of Transformer objects (format char => Transformer)
*/
public function getTransformers()
{
return $this->transformers;
}
/**
* Format a DateTime using ICU dateformat pattern.
*
* @param \DateTime $dateTime A DateTime object to be used to generate the formatted value
*
* @return string The formatted value
*/
public function format(\DateTime $dateTime)
@ -98,14 +86,9 @@ class FullTransformer
/**
* Return the formatted ICU value for the matched date characters.
*
* @param string $dateChars The date characters to be replaced with a formatted ICU value
* @param \DateTime $dateTime A DateTime object to be used to generate the formatted value
*
* @return string The formatted value
*
* @throws NotImplementedException When it encounters a not implemented date character
*/
public function formatReplace($dateChars, $dateTime)
private function formatReplace(string $dateChars, \DateTime $dateTime): string
{
$length = \strlen($dateChars);
@ -167,12 +150,10 @@ class FullTransformer
/**
* Retrieve a regular expression to match with a formatted value.
*
* @param string $pattern The pattern to create the reverse matching regular expression
*
* @return string The reverse matching regular expression with named captures being formed by the
* transformer index in the $transformer array
*/
public function getReverseMatchingRegExp($pattern)
private function getReverseMatchingRegExp(string $pattern): string
{
$escapedPattern = preg_quote($pattern, '/');
@ -189,9 +170,8 @@ class FullTransformer
return $this->replaceQuoteMatch($dateChars);
}
$transformers = $this->getTransformers();
if (isset($transformers[$transformerIndex])) {
$transformer = $transformers[$transformerIndex];
if (isset($this->transformers[$transformerIndex])) {
$transformer = $this->transformers[$transformerIndex];
$captureName = str_repeat($transformerIndex, $length);
return "(?P<$captureName>".$transformer->getReverseMatchingRegExp($length).')';
@ -203,24 +183,16 @@ class FullTransformer
/**
* Check if the first char of a string is a single quote.
*
* @param string $quoteMatch The string to check
*
* @return bool true if matches, false otherwise
*/
public function isQuoteMatch($quoteMatch)
private function isQuoteMatch(string $quoteMatch): bool
{
return "'" === $quoteMatch[0];
}
/**
* Replaces single quotes at the start or end of a string with two single quotes.
*
* @param string $quoteMatch The string to replace the quotes
*
* @return string A string with the single quotes replaced
*/
public function replaceQuoteMatch($quoteMatch)
private function replaceQuoteMatch(string $quoteMatch): string
{
if (preg_match("/^'+$/", $quoteMatch)) {
return str_replace("''", "'", $quoteMatch);
@ -231,12 +203,8 @@ class FullTransformer
/**
* Builds a chars match regular expression.
*
* @param string $specialChars A string of chars to build the regular expression
*
* @return string The chars match regular expression
*/
protected function buildCharsMatch($specialChars)
private function buildCharsMatch(string $specialChars): string
{
$specialCharsArray = str_split($specialChars);
@ -250,10 +218,8 @@ class FullTransformer
/**
* Normalize a preg_replace match array, removing the numeric keys and returning an associative array
* with the value and pattern values for the matched Transformer.
*
* @return array
*/
protected function normalizeArray(array $data)
private function normalizeArray(array $data): array
{
$ret = [];
@ -275,12 +241,9 @@ class FullTransformer
* Calculates the Unix timestamp based on the matched values by the reverse matching regular
* expression of parse().
*
* @param \DateTime $dateTime The DateTime object to be used to calculate the timestamp
* @param array $options An array with the matched values to be used to calculate the timestamp
*
* @return bool|int The calculated timestamp or false if matched date is invalid
*/
protected function calculateUnixTimestamp(\DateTime $dateTime, array $options)
private function calculateUnixTimestamp(\DateTime $dateTime, array $options)
{
$options = $this->getDefaultValueForOptions($options);

View File

@ -92,8 +92,7 @@ class TimezoneTransformer extends Transformer
*
* @return string A timezone identifier
*
* @see http://php.net/manual/en/timezones.others.php
* @see http://www.twinsun.com/tz/tz-link.htm
* @see https://php.net/timezones.others
*
* @throws NotImplementedException When the GMT time zone have minutes offset different than zero
* @throws \InvalidArgumentException When the value can not be matched with pattern

View File

@ -23,7 +23,6 @@ abstract class Transformer
/**
* Format a value using a configured DateTime as date/time source.
*
*
* @param \DateTime $dateTime A DateTime object to be used to generate the formatted value
* @param int $length The formatted value string length
*

View File

@ -126,7 +126,7 @@ class IntlDateFormatter
* supported value is IntlDateFormatter::GREGORIAN (or null using the default calendar, i.e. "GREGORIAN")
* @param string|null $pattern Optional pattern to use when formatting
*
* @see http://www.php.net/manual/en/intldateformatter.create.php
* @see https://php.net/intldateformatter.create
* @see http://userguide.icu-project.org/formatparse/datetime
*
* @throws MethodArgumentValueNotImplementedException When $locale different than "en" or null is passed
@ -162,7 +162,7 @@ class IntlDateFormatter
*
* @return self
*
* @see http://www.php.net/manual/en/intldateformatter.create.php
* @see https://php.net/intldateformatter.create
* @see http://userguide.icu-project.org/formatparse/datetime
*
* @throws MethodArgumentValueNotImplementedException When $locale different than "en" or null is passed
@ -180,7 +180,7 @@ class IntlDateFormatter
*
* @return string|bool The formatted value or false if formatting failed
*
* @see http://www.php.net/manual/en/intldateformatter.format.php
* @see https://php.net/intldateformatter.format
*
* @throws MethodArgumentValueNotImplementedException If one of the formatting characters is not implemented
*/
@ -231,7 +231,7 @@ class IntlDateFormatter
*
* @return string The formatted value
*
* @see http://www.php.net/manual/en/intldateformatter.formatobject.php
* @see https://php.net/intldateformatter.formatobject
*
* @throws MethodNotImplementedException
*/
@ -246,7 +246,7 @@ class IntlDateFormatter
* @return int The calendar being used by the formatter. Currently always returns
* IntlDateFormatter::GREGORIAN.
*
* @see http://www.php.net/manual/en/intldateformatter.getcalendar.php
* @see https://php.net/intldateformatter.getcalendar
*/
public function getCalendar()
{
@ -258,7 +258,7 @@ class IntlDateFormatter
*
* @return object The calendar's object being used by the formatter
*
* @see http://www.php.net/manual/en/intldateformatter.getcalendarobject.php
* @see https://php.net/intldateformatter.getcalendarobject
*
* @throws MethodNotImplementedException
*/
@ -272,7 +272,7 @@ class IntlDateFormatter
*
* @return int The current value of the formatter
*
* @see http://www.php.net/manual/en/intldateformatter.getdatetype.php
* @see https://php.net/intldateformatter.getdatetype
*/
public function getDateType()
{
@ -284,7 +284,7 @@ class IntlDateFormatter
*
* @return int The error code from last formatter call
*
* @see http://www.php.net/manual/en/intldateformatter.geterrorcode.php
* @see https://php.net/intldateformatter.geterrorcode
*/
public function getErrorCode()
{
@ -296,7 +296,7 @@ class IntlDateFormatter
*
* @return string The error message from last formatter call
*
* @see http://www.php.net/manual/en/intldateformatter.geterrormessage.php
* @see https://php.net/intldateformatter.geterrormessage
*/
public function getErrorMessage()
{
@ -311,7 +311,7 @@ class IntlDateFormatter
* @return string The locale used to create the formatter. Currently always
* returns "en".
*
* @see http://www.php.net/manual/en/intldateformatter.getlocale.php
* @see https://php.net/intldateformatter.getlocale
*/
public function getLocale($type = Locale::ACTUAL_LOCALE)
{
@ -323,7 +323,7 @@ class IntlDateFormatter
*
* @return string The pattern string used by the formatter
*
* @see http://www.php.net/manual/en/intldateformatter.getpattern.php
* @see https://php.net/intldateformatter.getpattern
*/
public function getPattern()
{
@ -335,7 +335,7 @@ class IntlDateFormatter
*
* @return int The time type used by the formatter
*
* @see http://www.php.net/manual/en/intldateformatter.gettimetype.php
* @see https://php.net/intldateformatter.gettimetype
*/
public function getTimeType()
{
@ -347,7 +347,7 @@ class IntlDateFormatter
*
* @return string The timezone identifier used by the formatter
*
* @see http://www.php.net/manual/en/intldateformatter.gettimezoneid.php
* @see https://php.net/intldateformatter.gettimezoneid
*/
public function getTimeZoneId()
{
@ -363,7 +363,7 @@ class IntlDateFormatter
*
* @return mixed The timezone used by the formatter
*
* @see http://www.php.net/manual/en/intldateformatter.gettimezone.php
* @see https://php.net/intldateformatter.gettimezone
*
* @throws MethodNotImplementedException
*/
@ -377,7 +377,7 @@ class IntlDateFormatter
*
* @return bool Currently always returns false
*
* @see http://www.php.net/manual/en/intldateformatter.islenient.php
* @see https://php.net/intldateformatter.islenient
*
* @throws MethodNotImplementedException
*/
@ -397,7 +397,7 @@ class IntlDateFormatter
*
* @return string Localtime compatible array of integers: contains 24 hour clock value in tm_hour field
*
* @see http://www.php.net/manual/en/intldateformatter.localtime.php
* @see https://php.net/intldateformatter.localtime
*
* @throws MethodNotImplementedException
*/
@ -417,7 +417,7 @@ class IntlDateFormatter
*
* @return int Parsed value as a timestamp
*
* @see http://www.php.net/manual/en/intldateformatter.parse.php
* @see https://php.net/intldateformatter.parse
*
* @throws MethodArgumentNotImplementedException When $position different than null, behavior not implemented
*/
@ -447,7 +447,7 @@ class IntlDateFormatter
*
* @return bool true on success or false on failure
*
* @see http://www.php.net/manual/en/intldateformatter.setcalendar.php
* @see https://php.net/intldateformatter.setcalendar
*
* @throws MethodNotImplementedException
*/
@ -469,7 +469,7 @@ class IntlDateFormatter
*
* @return bool true on success or false on failure
*
* @see http://www.php.net/manual/en/intldateformatter.setlenient.php
* @see https://php.net/intldateformatter.setlenient
*
* @throws MethodArgumentValueNotImplementedException When $lenient is true
*/
@ -489,7 +489,7 @@ class IntlDateFormatter
*
* @return bool true on success or false on failure
*
* @see http://www.php.net/manual/en/intldateformatter.setpattern.php
* @see https://php.net/intldateformatter.setpattern
* @see http://userguide.icu-project.org/formatparse/datetime
*/
public function setPattern($pattern)
@ -512,7 +512,7 @@ class IntlDateFormatter
*
* @return bool true on success or false on failure
*
* @see http://www.php.net/manual/en/intldateformatter.settimezoneid.php
* @see https://php.net/intldateformatter.settimezoneid
*/
public function setTimeZoneId($timeZoneId)
{
@ -556,7 +556,7 @@ class IntlDateFormatter
*
* @return bool true on success or false on failure
*
* @see http://www.php.net/manual/en/intldateformatter.settimezone.php
* @see https://php.net/intldateformatter.settimezone
*/
public function setTimeZone($timeZone)
{

View File

@ -48,7 +48,7 @@ class Locale
*
* @return string The corresponding locale code
*
* @see http://www.php.net/manual/en/locale.acceptfromhttp.php
* @see https://php.net/locale.acceptfromhttp
*
* @throws MethodNotImplementedException
*/
@ -97,7 +97,7 @@ class Locale
*
* @return string The corresponding locale code
*
* @see http://www.php.net/manual/en/locale.composelocale.php
* @see https://php.net/locale.composelocale
*
* @throws MethodNotImplementedException
*/
@ -115,7 +115,7 @@ class Locale
*
* @return string The corresponding locale code
*
* @see http://www.php.net/manual/en/locale.filtermatches.php
* @see https://php.net/locale.filtermatches
*
* @throws MethodNotImplementedException
*/
@ -131,7 +131,7 @@ class Locale
*
* @return array The locale variants
*
* @see http://www.php.net/manual/en/locale.getallvariants.php
* @see https://php.net/locale.getallvariants
*
* @throws MethodNotImplementedException
*/
@ -145,7 +145,7 @@ class Locale
*
* @return string The default locale code. Always returns 'en'
*
* @see http://www.php.net/manual/en/locale.getdefault.php
* @see https://php.net/locale.getdefault
*/
public static function getDefault()
{
@ -160,7 +160,7 @@ class Locale
*
* @return string The localized language display name
*
* @see http://www.php.net/manual/en/locale.getdisplaylanguage.php
* @see https://php.net/locale.getdisplaylanguage
*
* @throws MethodNotImplementedException
*/
@ -177,7 +177,7 @@ class Locale
*
* @return string The localized locale display name
*
* @see http://www.php.net/manual/en/locale.getdisplayname.php
* @see https://php.net/locale.getdisplayname
*
* @throws MethodNotImplementedException
*/
@ -194,7 +194,7 @@ class Locale
*
* @return string The localized region display name
*
* @see http://www.php.net/manual/en/locale.getdisplayregion.php
* @see https://php.net/locale.getdisplayregion
*
* @throws MethodNotImplementedException
*/
@ -211,7 +211,7 @@ class Locale
*
* @return string The localized script display name
*
* @see http://www.php.net/manual/en/locale.getdisplayscript.php
* @see https://php.net/locale.getdisplayscript
*
* @throws MethodNotImplementedException
*/
@ -228,7 +228,7 @@ class Locale
*
* @return string The localized variant display name
*
* @see http://www.php.net/manual/en/locale.getdisplayvariant.php
* @see https://php.net/locale.getdisplayvariant
*
* @throws MethodNotImplementedException
*/
@ -244,7 +244,7 @@ class Locale
*
* @return array Associative array with the extracted variants
*
* @see http://www.php.net/manual/en/locale.getkeywords.php
* @see https://php.net/locale.getkeywords
*
* @throws MethodNotImplementedException
*/
@ -260,7 +260,7 @@ class Locale
*
* @return string|null The extracted language code or null in case of error
*
* @see http://www.php.net/manual/en/locale.getprimarylanguage.php
* @see https://php.net/locale.getprimarylanguage
*
* @throws MethodNotImplementedException
*/
@ -276,7 +276,7 @@ class Locale
*
* @return string|null The extracted region code or null if not present
*
* @see http://www.php.net/manual/en/locale.getregion.php
* @see https://php.net/locale.getregion
*
* @throws MethodNotImplementedException
*/
@ -292,7 +292,7 @@ class Locale
*
* @return string|null The extracted script code or null if not present
*
* @see http://www.php.net/manual/en/locale.getscript.php
* @see https://php.net/locale.getscript
*
* @throws MethodNotImplementedException
*/
@ -309,7 +309,7 @@ class Locale
* @param bool $canonicalize If true, the arguments will be converted to canonical form before matching
* @param string $default The locale to use if no match is found
*
* @see http://www.php.net/manual/en/locale.lookup.php
* @see https://php.net/locale.lookup
*
* @throws MethodNotImplementedException
*/
@ -325,7 +325,7 @@ class Locale
*
* @return array Associative array with the extracted subtags
*
* @see http://www.php.net/manual/en/locale.parselocale.php
* @see https://php.net/locale.parselocale
*
* @throws MethodNotImplementedException
*/
@ -341,7 +341,7 @@ class Locale
*
* @return bool true on success or false on failure
*
* @see http://www.php.net/manual/en/locale.setdefault.php
* @see https://php.net/locale.setdefault
*
* @throws MethodNotImplementedException
*/

View File

@ -198,7 +198,7 @@ class NumberFormatter
* The mapping between NumberFormatter rounding modes to the available
* modes in PHP's round() function.
*
* @see http://www.php.net/manual/en/function.round.php
* @see https://php.net/round
*/
private static $phpRoundingMap = [
self::ROUND_HALFDOWN => \PHP_ROUND_HALF_DOWN,
@ -249,7 +249,7 @@ class NumberFormatter
* NumberFormat::PATTERN_RULEBASED. It must conform to the syntax
* described in the ICU DecimalFormat or ICU RuleBasedNumberFormat documentation
*
* @see http://www.php.net/manual/en/numberformatter.create.php
* @see https://php.net/numberformatter.create
* @see http://www.icu-project.org/apiref/icu4c/classDecimalFormat.html#_details
* @see http://www.icu-project.org/apiref/icu4c/classRuleBasedNumberFormat.html#_details
*
@ -288,7 +288,7 @@ class NumberFormatter
*
* @return self
*
* @see http://www.php.net/manual/en/numberformatter.create.php
* @see https://php.net/numberformatter.create
* @see http://www.icu-project.org/apiref/icu4c/classDecimalFormat.html#_details
* @see http://www.icu-project.org/apiref/icu4c/classRuleBasedNumberFormat.html#_details
*
@ -309,7 +309,7 @@ class NumberFormatter
*
* @return string The formatted currency value
*
* @see http://www.php.net/manual/en/numberformatter.formatcurrency.php
* @see https://php.net/numberformatter.formatcurrency
* @see https://en.wikipedia.org/wiki/ISO_4217#Active_codes
*/
public function formatCurrency($value, $currency)
@ -346,7 +346,7 @@ class NumberFormatter
*
* @return bool|string The formatted value or false on error
*
* @see http://www.php.net/manual/en/numberformatter.format.php
* @see https://php.net/numberformatter.format
*
* @throws NotImplementedException If the method is called with the class $style 'CURRENCY'
* @throws MethodArgumentValueNotImplementedException If the $type is different than TYPE_DEFAULT
@ -387,7 +387,7 @@ class NumberFormatter
*
* @return bool|int The attribute value on success or false on error
*
* @see http://www.php.net/manual/en/numberformatter.getattribute.php
* @see https://php.net/numberformatter.getattribute
*/
public function getAttribute($attr)
{
@ -399,7 +399,7 @@ class NumberFormatter
*
* @return int The error code from last formatter call
*
* @see http://www.php.net/manual/en/numberformatter.geterrorcode.php
* @see https://php.net/numberformatter.geterrorcode
*/
public function getErrorCode()
{
@ -411,7 +411,7 @@ class NumberFormatter
*
* @return string The error message from last formatter call
*
* @see http://www.php.net/manual/en/numberformatter.geterrormessage.php
* @see https://php.net/numberformatter.geterrormessage
*/
public function getErrorMessage()
{
@ -428,7 +428,7 @@ class NumberFormatter
* @return string The locale used to create the formatter. Currently always
* returns "en".
*
* @see http://www.php.net/manual/en/numberformatter.getlocale.php
* @see https://php.net/numberformatter.getlocale
*/
public function getLocale($type = Locale::ACTUAL_LOCALE)
{
@ -440,7 +440,7 @@ class NumberFormatter
*
* @return bool|string The pattern string used by the formatter or false on error
*
* @see http://www.php.net/manual/en/numberformatter.getpattern.php
* @see https://php.net/numberformatter.getpattern
*
* @throws MethodNotImplementedException
*/
@ -456,7 +456,7 @@ class NumberFormatter
*
* @return bool|string The symbol value or false on error
*
* @see http://www.php.net/manual/en/numberformatter.getsymbol.php
* @see https://php.net/numberformatter.getsymbol
*/
public function getSymbol($attr)
{
@ -470,7 +470,7 @@ class NumberFormatter
*
* @return bool|string The attribute value or false on error
*
* @see http://www.php.net/manual/en/numberformatter.gettextattribute.php
* @see https://php.net/numberformatter.gettextattribute
*/
public function getTextAttribute($attr)
{
@ -486,7 +486,7 @@ class NumberFormatter
*
* @return bool|string The parsed numeric value or false on error
*
* @see http://www.php.net/manual/en/numberformatter.parsecurrency.php
* @see https://php.net/numberformatter.parsecurrency
*
* @throws MethodNotImplementedException
*/
@ -504,7 +504,7 @@ class NumberFormatter
*
* @return int|float|false The parsed value or false on error
*
* @see http://www.php.net/manual/en/numberformatter.parse.php
* @see https://php.net/numberformatter.parse
*/
public function parse($value, $type = self::TYPE_DOUBLE, &$position = 0)
{
@ -558,7 +558,7 @@ class NumberFormatter
*
* @return bool true on success or false on failure
*
* @see http://www.php.net/manual/en/numberformatter.setattribute.php
* @see https://php.net/numberformatter.setattribute
*
* @throws MethodArgumentValueNotImplementedException When the $attr is not supported
* @throws MethodArgumentValueNotImplementedException When the $value is not supported
@ -608,7 +608,7 @@ class NumberFormatter
*
* @return bool true on success or false on failure
*
* @see http://www.php.net/manual/en/numberformatter.setpattern.php
* @see https://php.net/numberformatter.setpattern
* @see http://www.icu-project.org/apiref/icu4c/classDecimalFormat.html#_details
*
* @throws MethodNotImplementedException
@ -626,7 +626,7 @@ class NumberFormatter
*
* @return bool true on success or false on failure
*
* @see http://www.php.net/manual/en/numberformatter.setsymbol.php
* @see https://php.net/numberformatter.setsymbol
*
* @throws MethodNotImplementedException
*/
@ -643,7 +643,7 @@ class NumberFormatter
*
* @return bool true on success or false on failure
*
* @see http://www.php.net/manual/en/numberformatter.settextattribute.php
* @see https://php.net/numberformatter.settextattribute
*
* @throws MethodNotImplementedException
*/

View File

@ -18,4 +18,4 @@ Resources
* [Docker images with intl support](https://hub.docker.com/r/jakzal/php-intl)
(for the Intl component development)
[0]: http://www.php.net/manual/en/intl.setup.php
[0]: https://php.net/intl.setup

View File

@ -17,8 +17,8 @@ use Symfony\Component\Process\Process;
/**
* WindowsPipes implementation uses temporary files as handles.
*
* @see https://bugs.php.net/bug.php?id=51800
* @see https://bugs.php.net/bug.php?id=65650
* @see https://bugs.php.net/51800
* @see https://bugs.php.net/65650
*
* @author Romain Neutron <imprec@gmail.com>
*
@ -43,7 +43,7 @@ class WindowsPipes extends AbstractPipes
// Fix for PHP bug #51800: reading from STDOUT pipe hangs forever on Windows if the output is too big.
// Workaround for this problem is to use temporary files instead of pipes on Windows platform.
//
// @see https://bugs.php.net/bug.php?id=51800
// @see https://bugs.php.net/51800
$pipes = [
Process::STDOUT => Process::OUT,
Process::STDERR => Process::ERR,
@ -105,8 +105,8 @@ class WindowsPipes extends AbstractPipes
];
}
// We're not using pipe on Windows platform as it hangs (https://bugs.php.net/bug.php?id=51800)
// We're not using file handles as it can produce corrupted output https://bugs.php.net/bug.php?id=65650
// We're not using pipe on Windows platform as it hangs (https://bugs.php.net/51800)
// We're not using file handles as it can produce corrupted output https://bugs.php.net/65650
// So we redirect output within the commandline and pass the nul device to the process
return [
['pipe', 'r'],

View File

@ -148,8 +148,8 @@ class Process implements \IteratorAggregate
// on Windows, if the cwd changed via chdir(), proc_open defaults to the dir where PHP was started
// on Gnu/Linux, PHP builds with --enable-maintainer-zts are also affected
// @see : https://bugs.php.net/bug.php?id=51800
// @see : https://bugs.php.net/bug.php?id=50524
// @see : https://bugs.php.net/51800
// @see : https://bugs.php.net/50524
if (null === $this->cwd && (\defined('ZEND_THREAD_SAFE') || '\\' === \DIRECTORY_SEPARATOR)) {
$this->cwd = getcwd();
}
@ -487,7 +487,7 @@ class Process implements \IteratorAggregate
/**
* Sends a POSIX signal to the process.
*
* @param int $signal A valid POSIX signal (see http://www.php.net/manual/en/pcntl.constants.php)
* @param int $signal A valid POSIX signal (see https://php.net/pcntl.constants)
*
* @return $this
*
@ -1446,7 +1446,7 @@ class Process implements \IteratorAggregate
/**
* Sends a POSIX signal to the process.
*
* @param int $signal A valid POSIX signal (see http://www.php.net/manual/en/pcntl.constants.php)
* @param int $signal A valid POSIX signal (see https://php.net/pcntl.constants)
* @param bool $throwException Whether to throw exception in case signal failed
*
* @return bool True if the signal was sent successfully, false otherwise

View File

@ -1137,7 +1137,7 @@ class ProcessTest extends TestCase
];
if ('\\' === \DIRECTORY_SEPARATOR) {
// Avoid XL buffers on Windows because of https://bugs.php.net/bug.php?id=65650
// Avoid XL buffers on Windows because of https://bugs.php.net/65650
$sizes = [1, 2, 4, 8];
} else {
$sizes = [1, 16, 64, 1024, 4096];
@ -1520,14 +1520,8 @@ EOTXT;
}
/**
* @param string $commandline
* @param string|null $cwd
* @param array|null $env
* @param string|null $input
* @param int $timeout
* @param array $options
*
* @return Process
* @param string|array $commandline
* @param mixed $input
*/
private function getProcess($commandline, string $cwd = null, array $env = null, $input = null, ?int $timeout = 60): Process
{

View File

@ -24,8 +24,6 @@ interface GeneratorDumperInterface
* Dumps a set of routes to a string representation of executable code
* that can then be used to generate a URL of such a route.
*
* @param array $options An array of options
*
* @return string Executable code
*/
public function dump(array $options = []);

View File

@ -24,8 +24,6 @@ interface MatcherDumperInterface
* Dumps a set of routes to a string representation of executable code
* that can then be used to match a request against these routes.
*
* @param array $options An array of options
*
* @return string Executable code
*/
public function dump(array $options = []);

View File

@ -45,10 +45,10 @@ class Route implements \Serializable
* @param array $defaults An array of default parameter values
* @param array $requirements An array of requirements for parameters (regexes)
* @param array $options An array of options
* @param string $host The host pattern to match
* @param string|null $host The host pattern to match
* @param string|string[] $schemes A required URI scheme or an array of restricted schemes
* @param string|string[] $methods A required HTTP method or an array of restricted methods
* @param string $condition A condition that should evaluate to true for the route to match
* @param string|null $condition A condition that should evaluate to true for the route to match
*/
public function __construct(string $path, array $defaults = [], array $requirements = [], array $options = [], ?string $host = '', $schemes = [], $methods = [], ?string $condition = '')
{

View File

@ -94,7 +94,6 @@ class Router implements RouterInterface, RequestMatcherInterface
/**
* @param mixed $resource The main resource to load
* @param array $options An array of options
*/
public function __construct(LoaderInterface $loader, $resource, array $options = [], RequestContext $context = null, LoggerInterface $logger = null, string $defaultLocale = null)
{
@ -121,8 +120,6 @@ class Router implements RouterInterface, RequestMatcherInterface
* * strict_requirements: Configure strict requirement checking for generators
* implementing ConfigurableRequirementsInterface (default is true)
*
* @param array $options An array of options
*
* @throws \InvalidArgumentException When unsupported option is provided
*/
public function setOptions(array $options)

View File

@ -70,7 +70,7 @@ class JsonDecode implements DecoderInterface
*
* @throws NotEncodableValueException
*
* @see http://php.net/json_decode json_decode
* @see https://php.net/json_decode
*/
public function decode(string $data, string $format, array $context = [])
{

View File

@ -64,7 +64,7 @@ abstract class AbstractComparisonValidator extends ConstraintValidator
// Convert strings to DateTimes if comparing another DateTime
// This allows to compare with any date/time value supported by
// the DateTime constructor:
// http://php.net/manual/en/datetime.formats.php
// https://php.net/datetime.formats
if (\is_string($comparedValue)) {
if ($value instanceof \DateTimeImmutable) {
// If $value is immutable, convert the compared value to a

View File

@ -59,7 +59,7 @@ class RangeValidator extends ConstraintValidator
// Convert strings to DateTimes if comparing another DateTime
// This allows to compare with any date/time value supported by
// the DateTime constructor:
// http://php.net/manual/en/datetime.formats.php
// https://php.net/datetime.formats
if ($value instanceof \DateTimeInterface) {
if (\is_string($min)) {
$min = new \DateTime($min);

View File

@ -351,7 +351,7 @@ class IpValidatorTest extends ConstraintValidatorTestCase
{
// Quoting after official filter documentation:
// "FILTER_FLAG_NO_RES_RANGE = This flag does not apply to IPv6 addresses."
// Full description: http://php.net/manual/en/filter.filters.flags.php
// Full description: https://php.net/filter.filters.flags
return $this->getInvalidIpsV6();
}

View File

@ -17,7 +17,7 @@ use Symfony\Component\Workflow\Marking;
/**
* GraphvizDumper dumps a workflow as a graphviz file.
*
* You can convert the generated dot file with the dot utility (http://www.graphviz.org/):
* You can convert the generated dot file with the dot utility (https://graphviz.org/):
*
* dot -Tpng workflow.dot > workflow.png
*