From 3f0d783aeca897bfe6e6606771bbdebf641d7728 Mon Sep 17 00:00:00 2001 From: JonLee Date: Fri, 29 Nov 2024 16:30:40 +0800 Subject: [PATCH] BREAKING CHANGE: upgrade to PHP 8.0 and PHP-Casbin 4.0 --- .github/workflows/build.yml | 8 +++----- composer.json | 10 ++++------ phpunit.xml.dist | 29 +++++++++++++++++------------ src/Config/Enforcer.php | 4 ++-- src/Config/Services.php | 2 +- src/EnforcerManager.php | 10 ++++++++-- src/Logger.php | 18 ------------------ tests/EnforcerManagerTest.php | 7 +++++-- 8 files changed, 40 insertions(+), 48 deletions(-) delete mode 100755 src/Logger.php diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5866f32..bf28470 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -23,11 +23,9 @@ jobs: strategy: fail-fast: true matrix: - php: [ 7.2, 7.3,7.4,8.0 ] + php: [8.1, 8.2, 8.3] - stability: [ prefer-lowest, prefer-stable ] - - name: PHP ${{ matrix.php }} - ${{ matrix.stability }} + name: PHP ${{ matrix.php }} steps: - name: Checkout code @@ -57,7 +55,7 @@ jobs: COVERALLS_PARALLEL: true COVERALLS_FLAG_NAME: ${{ runner.os }} - ${{ matrix.php }} run: | - composer global require php-coveralls/php-coveralls:^2.4 + composer global require php-coveralls/php-coveralls:^2.7 php-coveralls --coverage_clover=build/logs/clover.xml -v upload-coverage: diff --git a/composer.json b/composer.json index 2af7ac6..6eefaf8 100755 --- a/composer.json +++ b/composer.json @@ -22,10 +22,9 @@ "test": "vendor/bin/phpunit" }, "require": { - "php": ">=7.2", - "codeigniter4/framework": "^4", - "casbin/casbin": "^3.21.6", - "casbin/psr3-bridge": "^1.1" + "php": "^8.1", + "codeigniter4/framework": "^4.5", + "casbin/casbin": "^4.0.2" }, "autoload": { "psr-4": { @@ -33,8 +32,7 @@ } }, "require-dev": { - "phpunit/phpunit": "^7.0|^8.0|^9.0", - "php-coveralls/php-coveralls": "^2.1" + "phpunit/phpunit": "^10.0|^11.0" }, "autoload-dev": { "psr-4": { diff --git a/phpunit.xml.dist b/phpunit.xml.dist index 14d138a..52ce18a 100755 --- a/phpunit.xml.dist +++ b/phpunit.xml.dist @@ -2,9 +2,6 @@ ./tests - - - ./src - - - - - - + + + + + + + + + + + ./src + + + diff --git a/src/Config/Enforcer.php b/src/Config/Enforcer.php index a849c8d..57cad0c 100755 --- a/src/Config/Enforcer.php +++ b/src/Config/Enforcer.php @@ -47,8 +47,8 @@ class Enforcer extends BaseConfig // changes whether Casbin will log messages to the Logger. 'enabled' => false, - // Casbin Logger - 'logger' => \Casbin\CodeIgniter\Logger::class, + // Casbin Logger, Supported: \Psr\Log\LoggerInterface|string + 'logger' => 'logger', ], 'cache' => [ diff --git a/src/Config/Services.php b/src/Config/Services.php index 929987c..5a171cb 100755 --- a/src/Config/Services.php +++ b/src/Config/Services.php @@ -15,7 +15,7 @@ class Services extends BaseService * * @return \Casbin\CodeIgniter\EnforcerManager */ - public static function enforcer(Enforcer $config = null, bool $getShared = true) + public static function enforcer(?Enforcer $config = null, bool $getShared = true) { if ($getShared) { return static::getSharedInstance('enforcer', $config); diff --git a/src/EnforcerManager.php b/src/EnforcerManager.php index baef4b6..d654884 100755 --- a/src/EnforcerManager.php +++ b/src/EnforcerManager.php @@ -5,6 +5,8 @@ use Casbin\Enforcer; use Casbin\Model\Model; use Casbin\Log\Log; +use Casbin\Log\Logger\DefaultLogger; +use Config\Services; use InvalidArgumentException; use Casbin\CodeIgniter\Config\Enforcer as EnforcerConfig; @@ -75,7 +77,11 @@ protected function resolve($name) } if ($logger = $config['log']['logger']) { - Log::setLogger(new $logger()); + if (is_string($logger)) { + $logger = new DefaultLogger(Services::$logger()); + } + + Log::setLogger($logger); } $model = new Model(); @@ -92,7 +98,7 @@ protected function resolve($name) } } - return new Enforcer($model, $adapter, $config['log']['enabled']); + return new Enforcer($model, $adapter, $logger, $config['log']['enabled']); } /** diff --git a/src/Logger.php b/src/Logger.php deleted file mode 100755 index d4c3884..0000000 --- a/src/Logger.php +++ /dev/null @@ -1,18 +0,0 @@ -