diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8fb88f9..201b109 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,7 +8,7 @@ on: jobs: testsuite: - runs-on: ubuntu-18.04 + runs-on: ubuntu-22.04 strategy: fail-fast: false matrix: @@ -69,7 +69,7 @@ jobs: validation: name: Coding Standard & Static Analysis - runs-on: ubuntu-18.04 + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v1 diff --git a/README.md b/README.md index aec0acb..8650247 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,17 @@ -[![CI](https://github.com/dereuromark/cakephp-whoops/workflows/CI/badge.svg?branch=master)](https://github.com/dereuromark/cakephp-whoops/actions?query=workflow%3ACI+branch%3Amaster) -[![Total Downloads](https://poser.pugx.org/dereuromark/cakephp-whoops/d/total.svg)](https://packagist.org/packages/dereuromark/cakephp-whoops) +# Whoops for CakePHP + +[![CI](https://github.com/dereuromark/cakephp-whoops/workflows/CI/badge.svg?branch=master)](https://github.com/dereuromark/cakephp-whoops/actions?query=workflow%3ACI+branch%3Amaster) +[![Total Downloads](https://poser.pugx.org/dereuromark/cakephp-whoops/d/total.svg)](https://packagist.org/packages/dereuromark/cakephp-whoops) [![Latest Stable Version](https://poser.pugx.org/dereuromark/cakephp-whoops/v/stable.svg)](https://packagist.org/packages/dereuromark/cakephp-whoops) -[![Minimum PHP Version](https://img.shields.io/badge/php-%3E%3D%207.2-8892BF.svg)](https://php.net/) +[![Minimum PHP Version](https://img.shields.io/badge/php-%3E%3D%207.4-8892BF.svg)](https://php.net/) [![License](https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square)](https://packagist.org/packages/dereuromark/cakephp-whoops) -# Whoops for CakePHP - Seamlessly integrate [Whoops] into [CakePHP] applications. Demo-Video: [Linux Mint + Firefox](https://streamable.com/s/h63t3/xweicf) +This branch is for use with **CakePHP 4.2+**. For details see [version map](https://github.com/dereuromark/cakephp-whoops/wiki#cakephp-version-map). + ## Install Using [Composer]: diff --git a/composer.json b/composer.json index 23d2994..b0d5fcf 100644 --- a/composer.json +++ b/composer.json @@ -26,8 +26,8 @@ "source": "https://github.com/dereuromark/cakephp-whoops" }, "require": { - "php": ">=7.2", - "cakephp/cakephp": "^4.0", + "php": ">=7.4", + "cakephp/cakephp": "^4.2", "filp/whoops": "^2.0" }, "require-dev": { @@ -45,10 +45,10 @@ }, "scripts": { "test": "php phpunit.phar", - "test-setup": "[ ! -f phpunit.phar ] && wget https://phar.phpunit.de/phpunit-8.5.13.phar && mv phpunit-8.5.13.phar phpunit.phar || true", + "test-setup": "[ ! -f phpunit.phar ] && wget https://phar.phpunit.de/phpunit-9.5.13.phar && mv phpunit-9.5.13.phar phpunit.phar || true", "test-coverage" : "php phpunit.phar --log-junit tmp/coverage/unitreport.xml --coverage-html tmp/coverage --coverage-clover tmp/coverage/coverage.xml", "stan": "phpstan analyse", - "stan-setup": "cp composer.json composer.backup && composer require --dev phpstan/phpstan:^0.12 && mv composer.backup composer.json", + "stan-setup": "cp composer.json composer.backup && composer require --dev phpstan/phpstan:^1.0.0 && mv composer.backup composer.json", "cs-check": "phpcs -p --standard=vendor/fig-r/psr2r-sniffer/PSR2R/ruleset.xml --extensions=php src/ tests/", "cs-fix": "phpcbf -v --standard=vendor/fig-r/psr2r-sniffer/PSR2R/ruleset.xml --extensions=php src/ tests/" }, diff --git a/src/Error/Middleware/WhoopsHandlerMiddleware.php b/src/Error/Middleware/WhoopsHandlerMiddleware.php index 341448e..a032238 100644 --- a/src/Error/Middleware/WhoopsHandlerMiddleware.php +++ b/src/Error/Middleware/WhoopsHandlerMiddleware.php @@ -20,6 +20,9 @@ class WhoopsHandlerMiddleware extends ErrorHandlerMiddleware { use WhoopsTrait; + /** + * @var string + */ public const PHP_SAPI_CLI = 'cli'; /** diff --git a/src/Error/WhoopsHandler.php b/src/Error/WhoopsHandler.php index ce17095..e62d614 100644 --- a/src/Error/WhoopsHandler.php +++ b/src/Error/WhoopsHandler.php @@ -3,7 +3,7 @@ namespace CakephpWhoops\Error; use Cake\Core\Configure; -use Cake\Core\Exception\Exception as CakeException; +use Cake\Core\Exception\CakeException; use Cake\Error\ErrorHandler; use Cake\Http\ServerRequest; use Cake\Routing\Router; diff --git a/src/Error/WhoopsTrait.php b/src/Error/WhoopsTrait.php index 5d9226e..d5d6b4f 100644 --- a/src/Error/WhoopsTrait.php +++ b/src/Error/WhoopsTrait.php @@ -10,7 +10,7 @@ trait WhoopsTrait { /** - * @var \Whoops\Run + * @var \Whoops\Run|null */ protected $_whoops; @@ -18,7 +18,7 @@ trait WhoopsTrait { * @return \Whoops\Run */ protected function getWhoopsInstance(): Run { - if (empty($this->_whoops)) { + if ($this->_whoops === null) { $this->_whoops = new Run(); }