
PHP 8.6 is expected to be released in November 2026, continuing the 8.x series. The focus is on more compact closures through Partial Function Application, more flexibility for readonly properties, and practical new building blocks like clamp() and the Duration class for time spans.
Partial Function Application (PFA)
PHP 8.6 introduces Partial Function Application: using the ? placeholder, you can create closures with pre-filled parameters without writing an anonymous function by hand.
Example:
$makeSlug = str_replace(' ', '-', ?);
$makeSlug('Hello World'); // 'Hello-World'
Especially useful in combination with the pipe operator from PHP 8.5, when a function only needs one open parameter.
Readonly Property Defaults
Previously, readonly properties were not allowed to have a default value. PHP 8.6 now allows this – particularly useful in combination with property hooks on interfaces.
public readonly string $name = '2026-01-01_create_books_table';
New clamp() Function
The new clamp() function limits a value to a defined range without requiring custom min/max nesting. It works with numbers, strings, and DateTime objects.
clamp(10, min: 0, max: 100); // 10
clamp(101, min: 0, max: 100); // 100
Duration Class and New Polling API
The new Time\Duration class encapsulates time spans in a readable, type-safe way, for example for wait times or retry logic:
sleep(Duration::fromMilliseconds(500));
$delay = $baseDelay->multiplyBy(2 ** $attempt);
In addition, the new Io\Poll namespace enables efficient I/O multiplexing with automatic backend selection (epoll, WSAPoll) – a building block for event-loop and async libraries.
Reflection and Documentation Improvements
PHP 8.6 extends the Reflection API and the options for code documentation:
• isReadable() and isWriteable():
Scope-dependent check on ReflectionProperty
• getDocComment() on ReflectionParameter:
Doc comments can now be read directly from parameters
function store(
/** @param Book[] */ array $books,
): void { }
Increased Session Security
Several session settings receive more secure default values:
• session.use_strict_mode=1:
Prevents acceptance of uninitialized session IDs
• session.cookie_httponly=1:
Protects session cookies from JavaScript access
• session.cookie_samesite=Lax:
Reduces the risk of CSRF attacks
Existing applications should check their session configuration before upgrading, if they have relied on the old defaults so far.
Further Changes and Deprecations
In addition, PHP 8.6 brings smaller but relevant adjustments:
The SortDirection enum (Ascending/Descending) standardizes sort directions across frameworks
Enums now support __debugInfo() for custom debug output
return statements in finally blocks are now marked as deprecated
Reserved identifiers such as let, is, and namespace as function or constant names are deprecated
Outdated type-checking functions like is_double() and is_integer() are considered deprecated
Numerous older Reflection and SPL methods are scheduled for removal in future versions
It's worth testing code early with deprecation warnings enabled.
Conclusion
PHP 8.6 continues the pragmatic direction of recent releases. Partial Function Application and the newly allowed defaults on readonly properties make everyday code more compact, while clamp() and the Duration class make recurring helper functions unnecessary. The tightened session defaults also increase the security of existing applications without requiring developers to actively change anything.
Anyone maintaining production projects should test early with staging environments on PHP 8.6, pay attention to deprecation notices, and monitor libraries for compatibility.
eazyCode Software GmbH supports companies in securely updating existing systems, modernizing applications, and adopting current PHP versions. The focus is on clean code migration, performance optimization, and long-term maintainability.

eazyCode Software GmbH supports companies in securely updating existing systems, modernizing applications, and adopting current PHP versions.
The focus is on clean code migration, performance optimization, and long-term maintainability.