Skip to content
Back to skills

2500 Skill Php84 E5d17e88

ASecurity

PHP 8.4 considerations for TYPO3 version updates. Breaking changes, compatibility, and migration strategies.

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

Security analysis

A100/100

Scanned October 11, 2026

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

Installs into .claude/skills of the current project.

Are you the author of 2500 Skill Php84 E5d17e88?

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

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

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

SKILL.md
---
name: typo3-update-php84
description: PHP 8.4 considerations for TYPO3 version updates. Breaking changes, compatibility, and migration strategies.
version: 1.0.0
php_compatibility: "8.4+"
typo3_compatibility: "13.0 - 14.x"
related_skills:
  - typo3-update
  - php-modernization
triggers:
  - typo3 update php 8.4
  - v14 php 8.4
  - php 8.4 upgrade
---

# TYPO3 Updates with PHP 8.4

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

---

## 1. TYPO3 Version PHP Requirements

| TYPO3 Version | PHP Minimum | PHP Maximum | PHP 8.4 Support |
|---------------|-------------|-------------|-----------------|
| v13.x | 8.2 | 8.4 | ✅ Supported |
| v14.x | 8.3 | 8.4 | ✅ Recommended |

---

## 2. Dual-Version Compatibility (v13 + v14 with PHP 8.4)

### composer.json

```json
{
    "require": {
        "php": "^8.2",
        "typo3/cms-core": "^13.0 || ^14.0"
    }
}
```

### Using PHP 8.4 Features in Dual-Version Extensions

```php
<?php

declare(strict_types=1);

namespace Vendor\MyExtension\Service;

// PHP 8.4 features work on both v13 and v14 when PHP 8.4 is used

final readonly class ProductService
{
    // Asymmetric visibility (PHP 8.4)
    public private(set) int $processedCount = 0;

    public function __construct(
        private ProductRepository $repository,
    ) {}

    public function findActive(): array
    {
        $products = $this->repository->findAll();

        // PHP 8.4 array functions
        return array_filter(
            $products,
            fn($p) => array_any($p->getCategories(), fn($c) => $c->isActive())
        );
    }
}
```

---

## 3. PHP 8.4 Breaking Changes Affecting TYPO3

### Implicit Nullable Parameters

```php
// ❌ Deprecated in PHP 8.4
public function process(string $value = null): void {}

// ✅ Fix for all TYPO3 versions
public function process(?string $value = null): void {}
```

### Class Name Restrictions

```php
// ❌ Deprecated: Single underscore class name
class _ {}

// ✅ Use proper naming
class Helper {}
```

---

## 4. Upgrade Path

### From v13 + PHP 8.2/8.3 to v14 + PHP 8.4

```bash
# 1. Update PHP first (on v13)
ddev config --php-version=8.4
ddev restart

# 2. Run tests and fix deprecations
ddev exec vendor/bin/rector process
ddev exec vendor/bin/phpstan analyse

# 3. Update TYPO3
ddev composer require typo3/cms-core:^14.0

# 4. Run database updates
ddev typo3 extension:setup
ddev typo3 upgrade:run
```

---

## 5. Extension Compatibility

### ext_emconf.php

```php
<?php
$EM_CONF[$_EXTKEY] = [
    'title' => 'My Extension',
    'constraints' => [
        'depends' => [
            'typo3' => '13.0.0-14.99.99',
        ],
    ],
];
```

### PHP Version in composer.json

```json
{
    "require": {
        "php": "^8.2"
    },
    "config": {
        "platform": {
            "php": "8.2.0"
        }
    }
}
```

---

## References

- [typo3-update SKILL.md](./SKILL.md)
- [php-modernization SKILL-PHP84](../php-modernization/SKILL-PHP84.md)
- [TYPO3 Changelog](https://docs.typo3.org/c/typo3/cms-core/main/en-us/)

---

## 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…