Poo 0

Poo 0

Crear una clase

Fijarse en que apellido tiene un tipado estricto por lo que no podría cambiar de tipo. También se puede tipar el tipo de respuesta por lo que no podemos devolver algo que no sea de ese tipo. como en la función saludar. También se pueden definir funciones con parámetros por defecto

class Persona{
    public $nombre = "Cristian";
    public string $apellido = "Peter"
    public function mostrarNombre(){
        echo $this->nombre;
    }
    public function saludar():string{
        return "hola";
    }
    public function saludoPredefinido($saludo = 'ey'):string{
        return $saludo;
    }

Encapsulamiento

<?php
class Coche {
    private $modelo;

    public function setModelo($modelo) {
        $this->modelo = $modelo;
    }

    public function getModelo() {
        return $this->modelo;
    }
}

$coche = new Coche();
$coche->setModelo("Toyota");
echo $coche->getModelo(); // Imprime: Toyota
?>

Instanciar una clase

Si el objeto no recibe parámetros en el constructor, los paréntesis se pueden omitir

$instancia = new Persona();

Metodos para clases

class_exists

Devuelve true o false dependiendo de si la clase existe o no

if(class_exists("Alumno")){

get_class

Devuelve la clase de un objeto.

Esto permite también saber cual es la implementación de una interfaz

$alumno1 = new Alumno();
echo 'La clase' . get_class($alumno1).'esta definida';

get_class_methods

Devuelve los métodos de un objeto, los métodos públicos

$alumno1 = new Alumno();
$metodosAlumno = get_class_methods($alumno1);
var_dump($metodosAlumno);

get_class_vars

Devuelve los atributos del objeto, los que sean públicos

$alumno1 = new Alumno();
$propiedadesObjeto = get_class_vars($alumno1);
var_dump($propiedadesObjeto);