Diferencia entre revisiones de «Clases Readonly»

De Wiki Proyectos Beta
Ir a la navegación Ir a la búsqueda
Línea 21: Línea 21:
     $object = new Post();
     $object = new Post();
     $object->title = "Hello, soy un titulo nuevo.";
     $object->title = "Hello, soy un titulo nuevo.";
Sale por pantalla:
Fatal error: Uncaught Error: Cannot modify readonly property Post::$title in /home/proyectosbeta/Codigo/PHP/versiones/8.2/general/classReadonly.php:12
Stack trace:
#0 {main}
  thrown in /home/proyectosbeta/Codigo/PHP/versiones/8.2/general/classReadonly.php on line 12

Revisión del 07:02 16 jul 2022

Descripción

Introducidas en PHP 8.1, las propiedades readonly serán expandidas en la versión PHP 8.2 para añadir azúcar sintáctico para que todas las propiedades de clases sean readonly al tiempo.

Esto prevendrá que las propiedades dinámicas sean añadidas a las clases.

Recursos

Ejemplo

<?php
   readonly class Post{
       public string $title;
       public function __construct(){
           $this->title = "Soy un titulo.";
       }
   }
   // Use class.
   $object = new Post();
   $object->title = "Hello, soy un titulo nuevo.";

Sale por pantalla:

Fatal error: Uncaught Error: Cannot modify readonly property Post::$title in /home/proyectosbeta/Codigo/PHP/versiones/8.2/general/classReadonly.php:12
Stack trace:
#0 {main}
 thrown in /home/proyectosbeta/Codigo/PHP/versiones/8.2/general/classReadonly.php on line 12