fix after change to php 7.4

This commit is contained in:
Dennis Eichhorn 2019-08-17 14:14:58 +02:00
parent dd68825329
commit 7b1cf0e660
23 changed files with 124 additions and 68 deletions

View File

@ -49,7 +49,7 @@ abstract class ConnectionAbstract implements ConnectionInterface
* @var string
* @since 1.0.0
*/
public string string $prefix = '';
public string $prefix = '';
/**
* Database data.

View File

@ -45,7 +45,7 @@ class FileCache extends ConnectionAbstract
/**
* {@inheritdoc}
*/
protected $type = CacheType::FILE;
protected string $type = CacheType::FILE;
/**
* Delimiter for cache meta data

View File

@ -74,7 +74,9 @@ class RedisCache extends ConnectionAbstract
$this->status = CacheStatus::OK;
}
/**
* {@inheritdoc}
*/
public function close() : void
{
if ($this->con !== null) {

View File

@ -29,16 +29,52 @@ class Builder extends QueryBuilder
{
public string $createTable = '';
/**
* Fields.
*
* @var array
* @since 1.0.0
*/
public array $createFields = [];
/**
* Database to drop.
*
* @var string
* @since 1.0.0
*/
public string $dropDatabase = '';
/**
* Table to drop.
*
* @var string
* @since 1.0.0
*/
public string $dropTable = '';
/**
* Tables.
*
* @var array
* @since 1.0.0
*/
public array $selectTables = ['*'];
/**
* Select fields.
*
* @var string
* @since 1.0.0
*/
public string $selectFields = '';
/**
* @todo: ?????.
*
* @var bool
* @since 1.0.0
*/
public bool $createTableSettings = true;
/**

View File

@ -35,6 +35,13 @@ class SchemaMapper
*/
protected ?ConnectionAbstract $db = null;
/**
* Constructor.
*
* @param ConnectionAbstract $db Database connection
*
* @since 1.0.0
*/
public function __construct(ConnectionAbstract $db)
{
$this->db = $db;

View File

@ -95,7 +95,7 @@ class HttpSession implements SessionInterface
$this->destroy();
}
$this->sessionData = $_SESSION;
$this->sessionData = $_SESSION ?? [];
$_SESSION = null;
$this->sessionData['lastActivity'] = \time();
$this->sid = \session_id();

View File

@ -27,7 +27,7 @@ use phpOMS\System\File\PathException;
* @link https://orange-management.org
* @since 1.0.0
*/
final class Dispatcher
final class Dispatcher implements DispatcherInterface
{
/**
@ -61,16 +61,7 @@ final class Dispatcher
}
/**
* Dispatch controller.
*
* @param array|\Closure|string $controller Controller
* @param null|array|mixed ...$data Data
*
* @return array Returns array of all dispatched results
*
* @throws \UnexpectedValueException This exception is thrown for unsupported controller representations
*
* @since 1.0.0
* {@inheritdoc}
*/
public function dispatch($controller, ...$data) : array
{

View File

@ -0,0 +1,32 @@
<?php
/**
* Orange Management
*
* PHP Version 7.4
*
* @package phpOMS\Dispatcher
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link https://orange-management.org
*/
declare(strict_types=1);
namespace phpOMS\Dispatcher;
interface DispatcherInterface {
/**
* Dispatch controller.
*
* @param array|\Closure|string $controller Controller
* @param null|array|mixed ...$data Data
*
* @return array Returns array of all dispatched results
*
* @throws \UnexpectedValueException This exception is thrown for unsupported controller representations
*
* @since 1.0.0
*/
public function dispatch($controller, ...$data) : array;
}

View File

@ -15,6 +15,7 @@ declare(strict_types=1);
namespace phpOMS\Event;
use phpOMS\Dispatcher\Dispatcher;
use phpOMS\Dispatcher\DispatcherInterface;
/**
* EventManager class.
@ -51,10 +52,10 @@ final class EventManager implements \Countable
/**
* Dispatcher.
*
* @var Dispatcher|Object<dispatch>
* @var DispatcherInterface|Object<dispatch>
* @since 1.0.0
*/
private ?Dispatcher $dispatcher = null;
private ?DispatcherInterface $dispatcher = null;
/**
* Constructor.
@ -65,10 +66,12 @@ final class EventManager implements \Countable
*/
public function __construct(Dispatcher $dispatcher = null)
{
$this->dispatcher = $dispatcher ?? new class() {
public function dispatch($func, ...$data) : void
$this->dispatcher = $dispatcher ?? new class() implements DispatcherInterface {
public function dispatch($func, ...$data) : array
{
$func(...$data);
return [];
}
};
}

View File

@ -301,44 +301,29 @@ class Matrix implements \ArrayAccess, \Iterator
$mDim = $this->m;
$nDim = $this->n;
if ($this->m > $this->n) {
$mDim = $this->n;
$nDim = $this->m;
$matrix = \array_map(null, ...$matrix);
}
$rank = \max($mDim, $nDim);
$selected = \array_fill(0, $mDim, false);
$rank = $mDim;
for ($i = 0; $i < $nDim; ++$i) {
$j;
for ($j = 0; $j < $mDim; ++$j) {
if (!$selected[$j] && \abs($matrix[$j][$i]) > 0.0001)
break;
}
for ($row = 0; $row < $rank; ++$row) {
if (isset($matrix[$row][$row]) && $matrix[$row][$row] !== 0) {
for ($col = 0; $col < $mDim; ++$col) {
if ($col !== $row) {
$mult = $matrix[$col][$row] / $matrix[$row][$row];
for ($i = 0; $i < $rank; ++$i) {
$matrix[$col][$i] -= $mult * $matrix[$row][$i];
}
}
}
if ($j === $mDim) {
--$rank;
} else {
$reduce = true;
for ($i = $row + 1; $i < $mDim; ++$i) {
if (isset($matrix[$i][$row]) && $matrix[$i][$row] !== 0) {
$this->swapRow($matrix, $row, $i, $rank);
$reduce = false;
break;
}
$selected[$j] = true;
for ($p = $i + 1; $p < $nDim; ++$p) {
$matrix[$j][$p] /= $matrix[$j][$i];
}
if ($reduce) {
--$rank;
for ($i = 0; $i < $mDim; ++$i) {
$matrix[$i][$row] = $matrix[$i][$rank];
for ($k = 0; $k < $mDim; ++$k) {
if ($k !== $j && \abs($matrix[$k][$i]) > 0.0001) {
for ($p = $i + 1; $p < $nDim; ++$p)
$matrix[$k][$p] -= $matrix[$j][$p] * $matrix[$k][$i];
}
--$row;
}
}
}
@ -361,9 +346,9 @@ class Matrix implements \ArrayAccess, \Iterator
private function swapRow(array &$matrix, int $row1, int $row2, int $col) : void
{
for ($i = 0; $i < $col; ++$i) {
$temp = $matrix[$row1][$i];
$matrix[$row1] = $matrix[$row2][$i];
$matrix[$row2] = $temp;
$temp = $matrix[$row1][$i];
$matrix[$row1][$i] = $matrix[$row2][$i];
$matrix[$row2][$i] = $temp;
}
}

View File

@ -150,7 +150,7 @@ final class PackageManager
$state = \sodium_crypto_generichash_init();
foreach ($files as $file) {
if ($file === 'package.cert') {
if ($file === 'package.cert' || \is_dir($this->extractPath . '/' . $file)) {
continue;
}

View File

@ -44,10 +44,10 @@ class Address implements \JsonSerializable
/**
* Location.
*
* @var Location
* @var null|Location
* @since 1.0.0
*/
private Location $location = null;
private ?Location $location = null;
/**
* Constructor.

View File

@ -96,7 +96,7 @@ class SmartDateTime extends \DateTime
$yearChange = ((int) $this->format('m') - 1 + $m) < 0 && ((int) $this->format('m') - 1 + $m) % 12 === 0 ? $yearChange - 1 : $yearChange;
$yearNew = (int) $this->format('Y') + $y + $yearChange;
$monthNew = ((int) $this->format('m') + $m) % 12;
$monthNew = $monthNew === 0 ? 12 : $monthNew < 0 ? 12 + $monthNew : $monthNew;
$monthNew = $monthNew === 0 ? 12 : ($monthNew < 0 ? 12 + $monthNew : $monthNew);
$dayMonthOld = \cal_days_in_month($calendar, (int) $this->format('m'), (int) $this->format('Y'));
$dayMonthNew = \cal_days_in_month($calendar, $monthNew, $yearNew);
$dayOld = (int) $this->format('d');

View File

@ -329,6 +329,6 @@ class PriorityQueue implements \Countable, \Serializable
*/
public function unserialize($data) : void
{
$this->queue = \json_decode($data);
$this->queue = \json_decode($data, true);
}
}

View File

@ -310,7 +310,7 @@ class Directory extends FileAbstract implements FtpContainerInterface, Directory
) = $chunks;
$e['permission'] = FileUtils::permissionToOctal(\substr($e['permission'], 1));
$e['type'] = $chunks[0]{0} === 'd' ? 'dir' : 'file';
$e['type'] = $chunks[0][0] === 'd' ? 'dir' : 'file';
$data[$names[$key]] = $e;
}

View File

@ -255,7 +255,7 @@ final class ArrayUtils
$str .= $key . ' => \'' . $value . '\', ';
break;
case 'boolean':
$str .= $key . ' => ' . ($value['default'] ? 'true' : 'false') . ', ';
$str .= $key . ' => ' . ($value ? 'true' : 'false') . ', ';
break;
case 'NULL':
$str .= $key . ' => null, ';

View File

@ -33,7 +33,7 @@ class C128a extends C128Abstract
* @var int
* @since 1.0.0
*/
protected static $CHECKSUM = 103;
protected static int $CHECKSUM = 103;
/**
* Char weighted array.

View File

@ -33,7 +33,7 @@ class C128b extends C128Abstract
* @var int
* @since 1.0.0
*/
protected static $CHECKSUM = 104;
protected static int $CHECKSUM = 104;
/**
* Char weighted array.

View File

@ -33,7 +33,7 @@ class C128c extends C128Abstract
* @var int
* @since 1.0.0
*/
protected static $CHECKSUM = 105;
protected static int $CHECKSUM = 105;
/**
* Char weighted array.

View File

@ -33,7 +33,7 @@ class DispatcherTest extends \PHPUnit\Framework\TestCase
protected function setUp() : void
{
$this->app = new class() extends ApplicationAbstract { protected $appName = 'Api'; };
$this->app = new class() extends ApplicationAbstract { protected string $appName = 'Api'; };
$this->app->router = new Router();
$this->app->dispatcher = new Dispatcher($this->app);
}

View File

@ -30,7 +30,7 @@ class ModuleManagerTest extends \PHPUnit\Framework\TestCase
protected function setUp() : void
{
$this->app = new class() extends ApplicationAbstract { protected $appName = 'Api'; };
$this->app = new class() extends ApplicationAbstract { protected string $appName = 'Api'; };
$this->app->appName = 'Api';
$this->app->dbPool = $GLOBALS['dbpool'];
$this->app->dispatcher = new Dispatcher($this->app);

View File

@ -52,7 +52,7 @@ class PackageManagerTest extends \PHPUnit\Framework\TestCase
$state = \sodium_crypto_generichash_init();
foreach ($files as $file) {
if ($file === 'package.cert') {
if ($file === 'package.cert' || \is_dir(__DIR__ . '/testPackage' . '/' . $file)) {
continue;
}

View File

@ -43,7 +43,7 @@ class ViewTest extends \PHPUnit\Framework\TestCase
$this->app = new class() extends ApplicationAbstract
{
protected $appName = 'Api';
protected string $appName = 'Api';
};
$this->app->l11nManager = new L11nManager($this->app->appName);