es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

En PHP, ¿cómo puedo hacer un tipo de sugerencia para una instancia de una clase a la que se accede utilizando una cadena como nombre de la clase?

Utilizando Laravel, estoy iterando a través de una serie de clases y realizando una operación en un subconjunto de instancias de cada clase. Las clases se proporcionan como cadenas, por ejemplo:

$c = '\App\Models\Book';
$c::each(function($i) {
    echo $i->title . PHP_EOL;
});

¿Cómo debería indicar el tipo de dato de $i?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para sugerir el tipo de dato de $i en el fragmento de código dado, puedes utilizar el tipo Illuminate\Database\Eloquent\Model, ya que es una clase base común para los modelos en Laravel.

    $c = '\App\Models\Book';
    
    $c::each(function(\Illuminate\Database\Eloquent\Model $i) {
        echo $i->title . PHP_EOL;
    });
    

    Al utilizar el modelo como tipo de dato sugerido, te aseguras de que $i tendrá acceso a propiedades y métodos específicos de los modelos de Laravel, como $i->title.

Comments are closed.