Crear objeto predeterminado a partir de un valor vacío en PHP
-
Crear un objeto
stdClass()
en PHP - Typecast Array en un objeto en PHP
- Crear objeto a partir de una clase anónima en PHP
Introduciremos algunos métodos para crear objetos en PHP y resolver el error creating default object from empty value
.
Crear un objeto stdClass()
en PHP
Cuando intentamos asignar propiedades de un objeto sin inicializar un objeto, se lanzará un error. El error dirá creando un objeto predeterminado a partir de un valor vacío
. El error también depende de la configuración en el archivo php.ini
. Cuando se suprime el error en la configuración, dicho script no arrojará el error. No es mejor cambiar el archivo de configuración para eliminar el error y deshacerse de él. En su lugar, podemos crear un objeto stdClass()
para deshacernos del error. Cuando declaramos una variable como un objeto de stdClass()
en el espacio de nombres global, podemos asignar propiedades dinámicamente a los objetos.
Por ejemplo, cree una variable $obj
y establézcala en NULL
. Luego, establezca la propiedad success
en false
con el objeto $obj
. En este caso, se generará un error, como se muestra en la sección de salida. Es porque $obj
no se ha inicializado como objeto.
Código de ejemplo:
$obj = NULL;
$obj->success = true;
Producción :
Warning: Creating default object from empty value
Para eliminar el error, primero asigne la variable $obj
con la instancia de stdClass()
. A continuación, establezca la propiedad success
en true
con $obj
. Luego, imprima el objeto $obj
usando la función print_r()
. Es incluso mejor utilizar la función isset()
para comprobar si $obj
ya existe. Podemos ver la información sobre $obj
en la sección de salida. Por tanto, podemos eliminar el error creando un objeto de stdClass()
.
Código de ejemplo:
$obj = new stdClass();
$obj->success =true;
print_r($obj);
Producción :
stdClass Object ( [success] => 1 )
Typecast Array en un objeto en PHP
Podemos encasillar un array a un objeto usando la palabra clave object
antes del array. De esta forma, se puede crear el objeto. Luego, podemos asignar las propiedades al objeto. Dado que ya inicializamos el objeto, no se producirá ningún error al asignar propiedades del objeto. Este método también crea un objeto de la clase stdClass()
.
Por ejemplo, cree una variable $obj
y asígnela a la función array()
. Luego, escriba la palabra clave objeto
entre paréntesis antes de array()
. La matriz se ha convertido en un objeto. Luego, asigne el valor true
a la propiedad success
con el $obj
. Finalmente, imprima el objeto con la función print_r()
. De esta forma, podemos crear un objeto encasillando un array y deshacernos del error.
Código de ejemplo:
$obj = (object)array();
$obj->success =true;
print_r($obj);
Producción :
stdClass Object ( [success] => 1 )
Crear objeto a partir de una clase anónima en PHP
Podemos crear un objeto a partir de una clase anónima en PHP y asignarle propiedades. Podemos usar la palabra clave nueva clase
para crear una clase anónima. Podemos establecer el valor de las propiedades como en la clase genérica. Dado que la propiedad tendrá una clase y podemos acceder a ella con un objeto, no se lanzará ningún error.
Por ejemplo, cree un objeto $obj
y asigne una clase anónima utilizando la palabra clave new class
al objeto. A continuación, cree una propiedad public
$success
y establezca el valor en true
. Fuera de la clase, imprime el objeto con la función print_r()
. De esta forma, podemos crear un objeto a partir de una clase anónima en PHP y evitar el error.
Código de ejemplo:
$obj = new class {
public $success = true;
};
print_r($obj);
Producción :
class@anonymous Object ( [success] => 1 )
Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.
LinkedIn