bug #19384 Fix PHP 7.1 related failures (nicolas-grekas)

This PR was merged into the 2.7 branch.

Discussion
----------

Fix PHP 7.1 related failures

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

PHP 7.1 triggers notices on previously silent implicit type changes.

Commits
-------

07467ed Fix PHP 7.1 related failures
This commit is contained in:
Fabien Potencier 2016-07-19 12:36:45 +02:00
commit 37cd583e78
10 changed files with 21 additions and 19 deletions

View File

@ -26,8 +26,9 @@ matrix:
- php: 5.4
- php: 5.5
- php: 5.6
env: deps=high
- php: 7.0
env: deps=high
- php: 7.1
env: deps=low
fast_finish: true
@ -50,13 +51,12 @@ before_install:
- if [[ ! $skip ]]; then echo session.gc_probability = 0 >> $INI_FILE; fi
- if [[ ! $skip && $PHP = 5.* ]]; then echo extension = mongo.so >> $INI_FILE; fi
- if [[ ! $skip && $PHP = 5.* ]]; then echo extension = memcache.so >> $INI_FILE; fi
- if [[ ! $skip && $PHP = 5.* ]]; then (echo yes | pecl install -f apcu-4.0.10 && echo apc.enable_cli = 1 >> $INI_FILE); fi
- if [[ ! $skip && $PHP = 7.* ]]; then (echo yes | pecl install -f apcu-5.1.2 && echo apc.enable_cli = 1 >> $INI_FILE); fi
- if [[ ! $skip && $PHP = 5.* ]]; then (echo yes | pecl install -f apcu-4.0.11 && echo apc.enable_cli = 1 >> $INI_FILE); fi
- if [[ ! $skip && $PHP = 7.0 ]]; then (echo yes | pecl install -f apcu-5.1.5 && echo apc.enable_cli = 1 >> $INI_FILE); fi
- if [[ ! $deps && $PHP = 5.* ]]; then (cd src/Symfony/Component/Debug/Resources/ext && phpize && ./configure && make && echo extension = $(pwd)/modules/symfony_debug.so >> $INI_FILE); fi
- if [[ ! $skip && $PHP = 5.* ]]; then pecl install -f memcached-2.1.0; fi
- if [[ ! $skip && ! $PHP = hhvm* ]]; then echo extension = ldap.so >> $INI_FILE; fi
- if [[ ! $skip && ! $PHP = hhvm* ]]; then phpenv config-rm xdebug.ini; fi
- if [[ ! $skip ]]; then composer self-update --stable; fi
- if [[ ! $skip && ! $PHP = hhvm* ]]; then phpenv config-rm xdebug.ini || echo "xdebug not available"; fi
- if [[ ! $skip ]]; then cp .composer/* ~/.composer/; fi
- if [[ ! $skip ]]; then ./phpunit install; fi
- if [[ ! $skip ]]; then export PHPUNIT=$(readlink -f ./phpunit); fi

View File

@ -23,5 +23,5 @@ class ProjectServiceContainer extends Container
}
}
class stdClass_%s extends \stdClass implements \ProxyManager\%s
{%a}%A
class stdClass_%s extends %SstdClass implements \ProxyManager\%s
{%a}%A

View File

@ -33,7 +33,7 @@
"symfony/security-acl": "~2.6",
"symfony/stopwatch": "~2.2",
"symfony/console": "~2.7",
"symfony/var-dumper": "~2.6",
"symfony/var-dumper": "~2.7.16|~2.8.9",
"symfony/expression-language": "~2.4"
},
"suggest": {

View File

@ -396,7 +396,7 @@ class Table
}
// create a two dimensional array (rowspan x colspan)
$unmergedRows = array_replace_recursive(array_fill($line + 1, $nbLines, ''), $unmergedRows);
$unmergedRows = array_replace_recursive(array_fill($line + 1, $nbLines, array()), $unmergedRows);
foreach ($unmergedRows as $unmergedRowKey => $unmergedRow) {
$value = isset($lines[$unmergedRowKey - $line]) ? $lines[$unmergedRowKey - $line] : '';
$unmergedRows[$unmergedRowKey][$column] = new TableCell($value, array('colspan' => $cell->getColspan()));

View File

@ -34,7 +34,7 @@ class CrossCheckTest extends \PHPUnit_Framework_TestCase
$loaderClass = 'Symfony\\Component\\DependencyInjection\\Loader\\'.ucfirst($type).'FileLoader';
$dumperClass = 'Symfony\\Component\\DependencyInjection\\Dumper\\'.ucfirst($type).'Dumper';
$tmp = tempnam('sf_service_container', 'sf');
$tmp = tempnam(sys_get_temp_dir(), 'sf');
file_put_contents($tmp, file_get_contents(self::$fixturesPath.'/'.$type.'/'.$fixture));

View File

@ -19,7 +19,7 @@
"php": ">=5.3.9"
},
"require-dev": {
"symfony/yaml": "~2.1",
"symfony/yaml": "~2.3.42|~2.7.14|~2.8.7",
"symfony/config": "~2.2",
"symfony/expression-language": "~2.6"
},

View File

@ -130,7 +130,7 @@ class OrderedHashMap implements \ArrayAccess, \IteratorAggregate, \Countable
? 0
// Imitate PHP's behavior of generating a key that equals
// the highest existing integer key + 1
: max($this->orderedKeys) + 1;
: 1 + (int) max($this->orderedKeys);
}
$this->orderedKeys[] = $key;

View File

@ -20,7 +20,7 @@ abstract class CacheWarmer implements CacheWarmerInterface
{
protected function writeCacheFile($file, $content)
{
$tmpFile = tempnam(dirname($file), basename($file));
$tmpFile = @tempnam(dirname($file), basename($file));
if (false !== @file_put_contents($tmpFile, $content) && @rename($tmpFile, $file)) {
@chmod($file, 0666 & ~umask());

View File

@ -88,20 +88,22 @@ class File extends Constraint
private function normalizeBinaryFormat($maxSize)
{
$sizeInt = (int) $maxSize;
if (ctype_digit((string) $maxSize)) {
$this->maxSize = (int) $maxSize;
$this->maxSize = $sizeInt;
$this->binaryFormat = null === $this->binaryFormat ? false : $this->binaryFormat;
} elseif (preg_match('/^\d++k$/i', $maxSize)) {
$this->maxSize = $maxSize * 1000;
$this->maxSize = $sizeInt * 1000;
$this->binaryFormat = null === $this->binaryFormat ? false : $this->binaryFormat;
} elseif (preg_match('/^\d++M$/i', $maxSize)) {
$this->maxSize = $maxSize * 1000000;
$this->maxSize = $sizeInt * 1000000;
$this->binaryFormat = null === $this->binaryFormat ? false : $this->binaryFormat;
} elseif (preg_match('/^\d++Ki$/i', $maxSize)) {
$this->maxSize = $maxSize << 10;
$this->maxSize = $sizeInt << 10;
$this->binaryFormat = null === $this->binaryFormat ? true : $this->binaryFormat;
} elseif (preg_match('/^\d++Mi$/i', $maxSize)) {
$this->maxSize = $maxSize << 20;
$this->maxSize = $sizeInt << 20;
$this->binaryFormat = null === $this->binaryFormat ? true : $this->binaryFormat;
} else {
throw new ConstraintDefinitionException(sprintf('"%s" is not a valid maximum size', $this->maxSize));

View File

@ -21,7 +21,7 @@
},
"require-dev": {
"doctrine/common": "~2.3",
"symfony/http-foundation": "~2.1",
"symfony/http-foundation": "~2.3",
"symfony/intl": "~2.7.4|~2.8",
"symfony/yaml": "~2.0,>=2.0.5",
"symfony/config": "~2.2",