Update PHP dependencies (major version bumps)

This commit is contained in:
Igor Scheller 2022-12-10 20:39:09 +01:00 committed by Michael Weimann
parent 6c4e92baf2
commit b4402a5b59
8 changed files with 456 additions and 458 deletions

View File

@ -26,37 +26,38 @@
"ext-pdo": "*", "ext-pdo": "*",
"ext-simplexml": "*", "ext-simplexml": "*",
"ext-xml": "*", "ext-xml": "*",
"doctrine/dbal": "^3.2", "doctrine/dbal": "^3.5",
"erusev/parsedown": "^1.7", "erusev/parsedown": "^1.7",
"gettext/gettext": "^5.6", "gettext/gettext": "^5.7",
"gettext/translator": "^1.0", "gettext/translator": "^1.1",
"guzzlehttp/guzzle": "^7.4", "guzzlehttp/guzzle": "^7.5",
"illuminate/container": "^8.76", "illuminate/container": "^9.43",
"illuminate/database": "^8.76", "illuminate/database": "^9.43",
"illuminate/support": "^8.76", "illuminate/support": "^9.43",
"league/oauth2-client": "^2.6", "league/oauth2-client": "^2.6",
"nikic/fast-route": "^1.3", "nikic/fast-route": "^1.3",
"nyholm/psr7": "^1.4", "nyholm/psr7": "^1.5",
"psr/container": "^1.1", "psr/container": "^2.0",
"psr/http-server-middleware": "^1.0", "psr/http-server-middleware": "^1.0",
"psr/log": "^1.1", "psr/log": "^3.0",
"rcrowe/twigbridge": "^0.14.0", "rcrowe/twigbridge": "^0.14.0",
"respect/validation": "^1.1", "respect/validation": "^1.1",
"symfony/http-foundation": "^5.4", "symfony/http-foundation": "^6.2",
"symfony/mailer": "^5.4", "symfony/mailer": "^6.2",
"symfony/psr-http-message-bridge": "^2.1", "symfony/psr-http-message-bridge": "^2.1",
"twig/twig": "^3.4", "twig/twig": "^3.4",
"vlucas/phpdotenv": "^5.4" "vlucas/phpdotenv": "^5.5"
}, },
"require-dev": { "require-dev": {
"dms/phpunit-arraysubset-asserts": "^0.3.1", "dms/phpunit-arraysubset-asserts": "^0.4",
"fakerphp/faker": "^1.17", "fakerphp/faker": "^1.20",
"fig/log-test": "^1.1",
"filp/whoops": "^2.14", "filp/whoops": "^2.14",
"phpstan/phpstan": "^1.9", "phpstan/phpstan": "^1.9",
"phpunit/phpunit": "^9.5", "phpunit/phpunit": "^9.5",
"slevomat/coding-standard": "^7.1", "slevomat/coding-standard": "^8.6",
"squizlabs/php_codesniffer": "^3.6", "squizlabs/php_codesniffer": "^3.7",
"symfony/var-dumper": "^5.4" "symfony/var-dumper": "^6.2"
}, },
"autoload": { "autoload": {
"psr-4": { "psr-4": {

788
composer.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -6,31 +6,23 @@ use SessionHandlerInterface;
abstract class AbstractHandler implements SessionHandlerInterface abstract class AbstractHandler implements SessionHandlerInterface
{ {
/** @var string */ protected string $name;
protected $name;
/** @var string */ protected string $sessionPath;
protected $sessionPath;
/** /**
* Bootstrap the session handler * Bootstrap the session handler
*
* @param string $sessionPath
* @param string $name
* @return bool
*/ */
public function open($sessionPath, $name): bool public function open(string $path, string $name): bool
{ {
$this->name = $name; $this->name = $name;
$this->sessionPath = $sessionPath; $this->sessionPath = $path;
return true; return true;
} }
/** /**
* Shutdown the session handler * Shutdown the session handler
*
* @return bool
*/ */
public function close(): bool public function close(): bool
{ {
@ -39,38 +31,24 @@ abstract class AbstractHandler implements SessionHandlerInterface
/** /**
* Remove old sessions * Remove old sessions
*
* @param int $maxLifetime
* @return bool
*/ */
#[\ReturnTypeWillChange] public function gc(int $max_lifetime): int|false
public function gc($maxLifetime)
{ {
return true; return 0;
} }
/** /**
* Read session data * Read session data
*
* @param string $id
* @return string
*/ */
abstract public function read($id): string; abstract public function read(string $id): string;
/** /**
* Write session data * Write session data
*
* @param string $id
* @param string $data
* @return bool
*/ */
abstract public function write($id, $data): bool; abstract public function write(string $id, string $data): bool;
/** /**
* Delete a session * Delete a session
*
* @param string $id
* @return bool
*/ */
abstract public function destroy($id): bool; abstract public function destroy(string $id): bool;
} }

View File

@ -7,12 +7,8 @@ use Illuminate\Database\Query\Builder as QueryBuilder;
class DatabaseHandler extends AbstractHandler class DatabaseHandler extends AbstractHandler
{ {
/** @var Database */ protected Database $database;
protected $database;
/**
* @param Database $database
*/
public function __construct(Database $database) public function __construct(Database $database)
{ {
$this->database = $database; $this->database = $database;
@ -21,7 +17,7 @@ class DatabaseHandler extends AbstractHandler
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
public function read($id): string public function read(string $id): string
{ {
$session = $this->getQuery() $session = $this->getQuery()
->where('id', '=', $id) ->where('id', '=', $id)
@ -33,7 +29,7 @@ class DatabaseHandler extends AbstractHandler
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
public function write($id, $data): bool public function write(string $id, string $data): bool
{ {
$values = [ $values = [
'payload' => $data, 'payload' => $data,
@ -62,7 +58,7 @@ class DatabaseHandler extends AbstractHandler
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
public function destroy($id): bool public function destroy(string $id): bool
{ {
$this->getQuery() $this->getQuery()
->where('id', '=', $id) ->where('id', '=', $id)
@ -74,20 +70,15 @@ class DatabaseHandler extends AbstractHandler
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
public function gc($maxLifetime) public function gc(int $max_lifetime): int|false
{ {
$timestamp = $this->getCurrentTimestamp(-$maxLifetime); $timestamp = $this->getCurrentTimestamp(-$max_lifetime);
$this->getQuery() return $this->getQuery()
->where('last_activity', '<', $timestamp) ->where('last_activity', '<', $timestamp)
->delete(); ->delete();
return true;
} }
/**
* @return QueryBuilder
*/
protected function getQuery(): QueryBuilder protected function getQuery(): QueryBuilder
{ {
return $this->database return $this->database
@ -97,9 +88,6 @@ class DatabaseHandler extends AbstractHandler
/** /**
* Format the SQL timestamp * Format the SQL timestamp
*
* @param int $diff
* @return string
*/ */
protected function getCurrentTimestamp(int $diff = 0): string protected function getCurrentTimestamp(int $diff = 0): string
{ {

View File

@ -6,6 +6,7 @@ use Engelsystem\Models\LogEntry;
use Psr\Log\AbstractLogger; use Psr\Log\AbstractLogger;
use Psr\Log\InvalidArgumentException; use Psr\Log\InvalidArgumentException;
use Psr\Log\LogLevel; use Psr\Log\LogLevel;
use Stringable;
use Throwable; use Throwable;
class Logger extends AbstractLogger class Logger extends AbstractLogger
@ -36,12 +37,11 @@ class Logger extends AbstractLogger
* Logs with an arbitrary level. * Logs with an arbitrary level.
* *
* @param mixed $level * @param mixed $level
* @param string $message * @param string|Stringable $message
* @param array $context * @param array $context
* *
* @throws InvalidArgumentException
*/ */
public function log($level, $message, array $context = []): void public function log($level, string|Stringable $message, array $context = []): void
{ {
if (!$this->checkLevel($level)) { if (!$this->checkLevel($level)) {
throw new InvalidArgumentException('Unknown log level: ' . $level); throw new InvalidArgumentException('Unknown log level: ' . $level);

View File

@ -4,6 +4,7 @@ namespace Engelsystem\Logger;
use Engelsystem\Helpers\Authenticator; use Engelsystem\Helpers\Authenticator;
use Psr\Log\InvalidArgumentException; use Psr\Log\InvalidArgumentException;
use Stringable;
class UserAwareLogger extends Logger class UserAwareLogger extends Logger
{ {
@ -14,12 +15,12 @@ class UserAwareLogger extends Logger
* Logs with an arbitrary level and prepends the user * Logs with an arbitrary level and prepends the user
* *
* @param mixed $level * @param mixed $level
* @param string $message * @param string|Stringable $message
* @param array $context * @param array $context
* *
* @throws InvalidArgumentException * @throws InvalidArgumentException
*/ */
public function log($level, $message, array $context = []): void public function log($level, string|Stringable $message, array $context = []): void
{ {
if ($this->auth && ($user = $this->auth->user())) { if ($this->auth && ($user = $this->auth->user())) {
$message = sprintf('%s (%u): %s', $user->name, $user->id, $message); $message = sprintf('%s (%u): %s', $user->name, $user->id, $message);

View File

@ -39,6 +39,6 @@ class AbstractHandlerTest extends TestCase
$handler = new ArrayHandler(); $handler = new ArrayHandler();
$return = $handler->gc(60 * 60 * 24); $return = $handler->gc(60 * 60 * 24);
$this->assertTrue($return); $this->assertEquals(0, $return);
} }
} }

View File

@ -76,7 +76,7 @@ class DatabaseHandlerTest extends TestCase
$handler = new DatabaseHandler($this->database); $handler = new DatabaseHandler($this->database);
$this->assertTrue($handler->gc(60 * 60)); $this->assertEquals(1, $handler->gc(60 * 60));
$return = $this->database->select('SELECT * FROM sessions'); $return = $this->database->select('SELECT * FROM sessions');
$this->assertCount(1, $return); $this->assertCount(1, $return);