Sobes.tech
Junior — Middle

What new features and changes have been added in PHP 8 compared to previous versions?

sobes.tech AI

Answer from AI

PHP 8 introduces many new features and improvements over previous versions:

  • JIT compilation (Just-In-Time) — improves performance by compiling bytecode into machine code at runtime.

  • Union Types — allows specifying multiple types for parameters and return values, e.g., function foo(int|string $param).

  • Named Arguments — calling functions with parameter names, enhancing readability and flexibility.

  • Attributes (annotations) — a new way to add metadata to classes, methods, and properties using the syntax #[Attribute].

  • Constructor Property Promotion — a concise syntax for declaring and initializing properties in the constructor.

  • Match Expression — a more powerful and safer alternative to switch, returning a value.

  • Nullsafe Operator (?->) — simplifies working with nullable objects, preventing null errors.

  • Strict types for str_contains(), str_starts_with(), str_ends_with() — new functions for string operations.

  • Optimizations and performance improvements — enhanced handling of types, memory, and error processing.

Example of using union types and named arguments:

function foo(int|string $value): void {
    echo $value;
}

foo(value: "text");

These changes make PHP 8 more modern, secure, and developer-friendly.