You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Single entry point for bringing plugin_mactrack in line with current PHP 8.1+ and Cacti-aligned plugin standards: strict typing, static analysis, modern syntax, and Cacti-aligned structure and tooling.
What this workstream covers
PHP 8.1+ — Minimum supported version; use 8.1+ features where they simplify code.
Strict types — declare(strict_types=1) in all PHP files; full parameter and return type hints.
Modern syntax — match, str_starts_with/str_contains, nullsafe ?->, first-class callables, enums where useful.
Static analysis — PHPStan level 6, then 8; zero errors in CI.
Cacti-aligned tooling — Composer scripts and dev deps aligned with core (lint, phpstan, php-cs-fixer, test).
Cacti-aligned structure — Split setup.php into includes/setup/*; move page scripts to pages/ or views/; __DIR__ includes; index.php in subdirs; PSR-4 when adding namespaced code.
Goal
Single entry point for bringing plugin_mactrack in line with current PHP 8.1+ and Cacti-aligned plugin standards: strict typing, static analysis, modern syntax, and Cacti-aligned structure and tooling.
What this workstream covers
declare(strict_types=1)in all PHP files; full parameter and return type hints.match,str_starts_with/str_contains, nullsafe?->, first-class callables, enums where useful.__DIR__includes; index.php in subdirs; PSR-4 when adding namespaced code.Existing issues (workstream)
Suggested order
phpstan.neonat level 6.Acceptance criteria (umbrella)
Out of scope
References