Skip to content
Back to skills

2500 Skill Php84 F23bec31

ASecurity

PHP 8.4 coding standards for TYPO3 extension conformance. Property hooks, visibility, and modern patterns.

  • 9 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 11, 2026
documentationphp

Security analysis

A100/100

Scanned October 11, 2026

npx -y skills add tools-only/X-Skills --skill 2500-skill-php84_f23bec31 --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of 2500 Skill Php84 F23bec31?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for 2500 Skill Php84 F23bec31
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tools-only-2500-skill-php84-f23bec31/badge)](https://www.skillsdirectory.com/skills/tools-only-2500-skill-php84-f23bec31)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

SKILL.md
---
name: typo3-conformance-php84
description: PHP 8.4 coding standards for TYPO3 extension conformance. Property hooks, visibility, and modern patterns.
version: 1.0.0
php_compatibility: "8.4+"
typo3_compatibility: "13.0 - 14.x"
related_skills:
  - typo3-conformance
  - php-modernization
triggers:
  - conformance php 8.4
  - extension standards php84
---

# Extension Conformance with PHP 8.4

> **Compatibility:** PHP 8.4+, TYPO3 v13.x and v14.x
> 
> **Related Skills:**
> - [typo3-conformance](./SKILL.md) - Main conformance guide
> - [php-modernization/SKILL-PHP84](../php-modernization/SKILL-PHP84.md) - PHP 8.4 features

---

## 1. PHP 8.4 Coding Standards

### Recommended Patterns

| Pattern | Standard |
|---------|----------|
| Property hooks | Use for validation/transformation |
| Asymmetric visibility | Prefer over private + getter |
| New array functions | Use over manual loops |
| `#[\Deprecated]` | Mark legacy code properly |

---

## 2. PHP-CS-Fixer Configuration

```php
<?php
// .php-cs-fixer.dist.php

$config = new PhpCsFixer\Config();

return $config
    ->setRules([
        '@PER-CS' => true,
        '@PER-CS:risky' => true,
        'declare_strict_types' => true,
        'trailing_comma_in_multiline' => [
            'elements' => ['arguments', 'arrays', 'match', 'parameters'],
        ],
        'nullable_type_declaration_for_default_null_value' => true,
    ])
    ->setRiskyAllowed(true)
    ->setFinder(
        PhpCsFixer\Finder::create()
            ->in(__DIR__ . '/Classes')
            ->in(__DIR__ . '/Tests')
    );
```

---

## 3. PHPStan Level 10

```neon
# phpstan.neon
parameters:
    phpVersion: 80400
    level: 10
    paths:
        - Classes
    treatPhpDocTypesAsCertain: false
```

---

## 4. Conformance Checklist for PHP 8.4

- [ ] All nullable parameters explicitly typed (`?Type`)
- [ ] `declare(strict_types=1)` in all files
- [ ] No single underscore class names
- [ ] `#[\Deprecated]` on legacy methods
- [ ] PHPStan level 9+ passing
- [ ] PHP-CS-Fixer with PER-CS

---

## References

- [typo3-conformance SKILL.md](./SKILL.md)
- [php-modernization SKILL-PHP84](../php-modernization/SKILL-PHP84.md)
- [PER Coding Style](https://www.php-fig.org/per/coding-style/)

---

## Credits & Attribution

This skill is part of the webconsulting.at TYPO3 skills collection.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…