Skip to content

Commit 8196d26

Browse files
committed
Merge branch '4.next' into 4.x
2 parents 458a3bb + 5bd4e74 commit 8196d26

40 files changed

+220
-184
lines changed

.github/workflows/ci.yml

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,12 @@ jobs:
1515
strategy:
1616
fail-fast: false
1717
matrix:
18-
php-version: ['7.2', '7.4', '8.0']
18+
php-version: ['7.2', '8.0']
1919
db-type: [mysql, pgsql, sqlite]
2020
prefer-lowest: ['']
2121
include:
22+
- php-version: '8.1'
23+
db-type: 'sqlite'
2224
- php-version: '7.2'
2325
db-type: 'sqlite'
2426
prefer-lowest: 'prefer-lowest'
@@ -63,12 +65,12 @@ jobs:
6365

6466
- name: Composer install
6567
run: |
66-
if [[ ${{ matrix.php-version }} == '8.0' ]]; then
67-
composer install --ignore-platform-reqs
68-
elif ${{ matrix.prefer-lowest == 'prefer-lowest' }}; then
68+
if ${{ matrix.prefer-lowest == 'prefer-lowest' }}; then
6969
composer update --prefer-lowest --prefer-stable
70+
elif ${{ matrix.php-version == '8.1' }}; then
71+
composer update --ignore-platform-reqs
7072
else
71-
composer install
73+
composer update
7274
fi
7375
7476
- name: Run PHPUnit
@@ -105,7 +107,7 @@ jobs:
105107
php-version: '7.4'
106108
extensions: mbstring, intl
107109
coverage: none
108-
tools: psalm:~4.1.0, cs2pr
110+
tools: psalm:~4.10.0, cs2pr
109111

110112
- name: Composer Install
111113
run: composer install

composer.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
},
2525
"require": {
2626
"php": ">=7.2",
27-
"cakephp/cakephp": "^4.2.0",
27+
"cakephp/cakephp": "dev-4.next as 4.3",
2828
"cakephp/chronos": "^2.0",
2929
"composer/composer": "^1.3 | ^2.0",
3030
"jdorn/sql-formatter": "^1.2"
@@ -56,7 +56,7 @@
5656
"cs-fix": "phpcbf --colors --parallel=16 -p src/ tests/",
5757
"test": "phpunit",
5858
"psalm": "psalm.phar --show-info=false",
59-
"psalm-setup": "cp composer.json composer.backup && composer require --dev psalm/phar:^4.3 && mv composer.backup composer.json"
59+
"psalm-setup": "cp composer.json composer.backup && composer require --dev psalm/phar:^4.10 && mv composer.backup composer.json"
6060
},
6161
"prefer-stable": true
6262
}

config/routes.php

Lines changed: 45 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,52 @@
11
<?php
2-
use Cake\Routing\RouteBuilder;
2+
33
use Cake\Routing\Route\DashedRoute;
4-
use Cake\Routing\Router;
4+
use Cake\Routing\RouteBuilder;
55

6-
Router::plugin('DebugKit', ['path' => '/debug-kit'], function (RouteBuilder $routes) {
7-
$routes->setExtensions('json');
8-
$routes->setRouteClass(DashedRoute::class);
6+
return function (RouteBuilder $routes) {
7+
$routes->plugin('DebugKit', ['path' => '/debug-kit'], function (RouteBuilder $routes) {
8+
$routes->setExtensions('json');
9+
$routes->setRouteClass(DashedRoute::class);
910

10-
$routes->connect(
11-
'/toolbar/clear-cache',
12-
['controller' => 'Toolbar', 'action' => 'clearCache']
13-
);
14-
$routes->connect(
15-
'/toolbar/*',
16-
['controller' => 'Requests', 'action' => 'view']
17-
);
18-
$routes->connect(
19-
'/panels/view/latest-history',
20-
['controller' => 'Panels', 'action' => 'latestHistory']
21-
);
22-
$routes->connect(
23-
'/panels/view/*',
24-
['controller' => 'Panels', 'action' => 'view']
25-
);
26-
$routes->connect(
27-
'/panels/*',
28-
['controller' => 'Panels', 'action' => 'index']
29-
);
11+
$routes->connect(
12+
'/toolbar/clear-cache',
13+
['controller' => 'Toolbar', 'action' => 'clearCache']
14+
);
15+
$routes->connect(
16+
'/toolbar/*',
17+
['controller' => 'Requests', 'action' => 'view']
18+
);
19+
$routes->connect(
20+
'/panels/view/latest-history',
21+
['controller' => 'Panels', 'action' => 'latestHistory']
22+
);
23+
$routes->connect(
24+
'/panels/view/*',
25+
['controller' => 'Panels', 'action' => 'view']
26+
);
27+
$routes->connect(
28+
'/panels/*',
29+
['controller' => 'Panels', 'action' => 'index']
30+
);
3031

31-
$routes->connect(
32-
'/composer/check-dependencies',
33-
['controller' => 'Composer', 'action' => 'checkDependencies']
34-
);
32+
$routes->connect(
33+
'/composer/check-dependencies',
34+
['controller' => 'Composer', 'action' => 'checkDependencies']
35+
);
3536

36-
$routes->scope(
37-
'/mail-preview',
38-
['controller' => 'MailPreview'],
39-
function (RouteBuilder $routes) {
40-
$routes->connect('/', ['action' => 'index']);
41-
$routes->connect('/preview', ['action' => 'email']);
42-
$routes->connect('/preview/*', ['action' => 'email']);
43-
$routes->connect('/sent/{panel}/{id}', ['action' => 'sent'], ['pass' => ['panel', 'id']]);
44-
}
45-
);
37+
$routes->scope(
38+
'/mail-preview',
39+
['controller' => 'MailPreview'],
40+
function (RouteBuilder $routes) {
41+
$routes->connect('/', ['action' => 'index']);
42+
$routes->connect('/preview', ['action' => 'email']);
43+
$routes->connect('/preview/*', ['action' => 'email']);
44+
$routes->connect('/sent/{panel}/{id}', ['action' => 'sent'], ['pass' => ['panel', 'id']]);
45+
}
46+
);
4647

47-
$routes->get('/', ['controller' => 'Dashboard', 'action' => 'index']);
48-
$routes->get('/dashboard', ['controller' => 'Dashboard', 'action' => 'index']);
49-
$routes->post('/dashboard/reset', ['controller' => 'Dashboard', 'action' => 'reset']);
50-
});
48+
$routes->get('/', ['controller' => 'Dashboard', 'action' => 'index']);
49+
$routes->get('/dashboard', ['controller' => 'Dashboard', 'action' => 'index']);
50+
$routes->post('/dashboard/reset', ['controller' => 'Dashboard', 'action' => 'reset']);
51+
});
52+
};

phpunit.xml.dist

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,17 +21,13 @@
2121
</whitelist>
2222
</filter>
2323

24-
<!-- Setup a listener for fixtures -->
25-
<listeners>
26-
<listener class="Cake\TestSuite\Fixture\FixtureInjector">
27-
<arguments>
28-
<object class="Cake\TestSuite\Fixture\FixtureManager"/>
29-
</arguments>
30-
</listener>
31-
</listeners>
24+
<extensions>
25+
<extension class="Cake\TestSuite\Fixture\PHPUnitExtension"/>
26+
</extensions>
3227

3328
<php>
3429
<ini name="memory_limit" value="-1"/>
30+
<env name="FIXTURE_SCHEMA_METADATA" value="./tests/schema.php"/>
3531
<!-- Postgres
3632
<env name="DB_URL" value="postgres://root@localhost/cake_test_db"/>
3733
-->

psalm-baseline.xml

Lines changed: 6 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,9 @@
2727
</PossiblyNullArrayOffset>
2828
</file>
2929
<file src="src/Mailer/MailPreview.php">
30+
<DeprecatedTrait occurrences="1">
31+
<code>ModelAwareTrait</code>
32+
</DeprecatedTrait>
3033
<PossiblyFalseOperand occurrences="1">
3134
<code>$pos</code>
3235
</PossiblyFalseOperand>
@@ -55,11 +58,6 @@
5558
<code>$vendorName</code>
5659
</InvalidScalarArgument>
5760
</file>
58-
<file src="src/Panel/EnvironmentPanel.php">
59-
<PossiblyInvalidArgument occurrences="1">
60-
<code>$var['user']</code>
61-
</PossiblyInvalidArgument>
62-
</file>
6361
<file src="src/Panel/IncludePanel.php">
6462
<InvalidScalarArgument occurrences="4">
6563
<code>$pluginName</code>
@@ -73,27 +71,16 @@
7371
<code>count</code>
7472
</UndefinedInterfaceMethod>
7573
</file>
76-
<file src="src/Panel/MailPanel.php">
77-
<ArgumentTypeCoercion occurrences="1">
78-
<code>$transport</code>
79-
</ArgumentTypeCoercion>
80-
</file>
8174
<file src="src/Panel/PanelRegistry.php">
82-
<ArgumentTypeCoercion occurrences="1">
83-
<code>$instance</code>
84-
</ArgumentTypeCoercion>
8575
<LessSpecificImplementedReturnType occurrences="1">
8676
<code>string|null</code>
8777
</LessSpecificImplementedReturnType>
88-
<LessSpecificReturnStatement occurrences="1">
89-
<code>$instance</code>
90-
</LessSpecificReturnStatement>
9178
<MoreSpecificImplementedParamType occurrences="1">
9279
<code>$class</code>
9380
</MoreSpecificImplementedParamType>
94-
<MoreSpecificReturnType occurrences="1">
95-
<code>\DebugKit\DebugPanel</code>
96-
</MoreSpecificReturnType>
81+
<UnsafeInstantiation occurrences="1">
82+
<code>new $class($this, $config)</code>
83+
</UnsafeInstantiation>
9784
</file>
9885
<file src="src/Panel/SqlLogPanel.php">
9986
<TypeDoesNotContainType occurrences="1">
@@ -106,11 +93,6 @@
10693
<file src="src/Plugin.php">
10794
<InvalidArgument occurrences="1"/>
10895
</file>
109-
<file src="src/ToolbarService.php">
110-
<InvalidScalarArgument occurrences="1">
111-
<code>$row-&gt;id</code>
112-
</InvalidScalarArgument>
113-
</file>
11496
<file src="src/View/Helper/ToolbarHelper.php">
11597
<DeprecatedMethod occurrences="1">
11698
<code>makeNeatArray</code>

psalm.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
xsi:schemaLocation="https://getpsalm.org/schema/config vendor/vimeo/psalm/config.xsd"
88
autoloader="tests/bootstrap.php"
99
usePhpDocMethodsWithoutMagicCall="true"
10-
errorBaseline="./psalm-baseline.xml"
10+
errorBaseline="psalm-baseline.xml"
1111
>
1212
<projectFiles>
1313
<directory name="src" />

src/Cache/Engine/DebugEngine.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ class DebugEngine extends CacheEngine
2828
/**
2929
* Proxied cache engine config.
3030
*
31-
* @var array
31+
* @var array<string, mixed>
3232
*/
3333
protected $_config;
3434

src/Command/BenchmarkCommand.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ public function execute(Arguments $args, ConsoleIo $io): ?int
5757
$io->out(Text::insert(__d('debug_kit', '-> Testing :url'), compact('url')));
5858
$io->out('');
5959
for ($i = 0; $i < $options['n']; $i++) {
60+
/** @psalm-suppress PossiblyInvalidOperand */
6061
if (floor($options['t'] - array_sum($times)) <= 0 || $options['n'] <= 1) {
6162
break;
6263
}

src/Controller/DashboardController.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,11 @@ public function beforeFilter(EventInterface $event)
4444
*/
4545
public function index()
4646
{
47-
$this->loadModel('DebugKit.Requests');
47+
$requestsModel = $this->fetchTable('DebugKit.Requests');
4848

4949
$data = [
50-
'driver' => get_class($this->Requests->getConnection()->getDriver()),
51-
'rows' => $this->Requests->find()->count(),
50+
'driver' => get_class($requestsModel->getConnection()->getDriver()),
51+
'rows' => $requestsModel->find()->count(),
5252
];
5353

5454
$this->set('connection', $data);
@@ -62,10 +62,10 @@ public function index()
6262
public function reset()
6363
{
6464
$this->request->allowMethod('post');
65-
$this->loadModel('DebugKit.Requests');
65+
$requestsModel = $this->fetchTable('DebugKit.Requests');
6666

67-
$this->Requests->Panels->deleteAll('1=1');
68-
$this->Requests->deleteAll('1=1');
67+
$requestsModel->Panels->deleteAll('1=1');
68+
$requestsModel->deleteAll('1=1');
6969

7070
return $this->redirect(['action' => 'index']);
7171
}

src/Controller/MailPreviewController.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,8 @@ public function index()
6363
*/
6464
public function sent($panelId, $number)
6565
{
66-
$this->loadModel('DebugKit.Panels');
67-
$panel = $this->Panels->get($panelId);
66+
/** @var \DebugKit\Model\Entity\Panel $panel */
67+
$panel = $this->fetchTable('DebugKit.Panels')->get($panelId);
6868

6969
// @codingStandardsIgnoreStart
7070
$content = @unserialize($panel->content);

0 commit comments

Comments
 (0)