Objetos dentro de clases en POO en PHP
En las clases se pueden utilizar objetos de otras clases. Veamos un ejemplo. Supongamos que queremos crear un usuario con nombre y apellido, y también con la ciudad donde vive. Supongamos que tenemos la siguiente clase para la ciudad:
<?php
class City {
public $name;
public function __construct($name) {
$this->name = $name;
}
}
?>
Pasaremos el nombre, apellido y ciudad como parámetros del constructor:
<?php
class User {
public $name;
public $surn;
public $city;
public function __construct($name, $surn, $city) {
$this->name = $name;
$this->surn = $surn;
$this->city = $city;
}
}
?>
En este caso, el nombre y apellido serán cadenas, pero la ciudad será un objeto de su propia clase separada:
<?php
$city = new City('luis');
$user = new User('john', 'smit', $city);
?>
Mostremos el nombre de nuestro usuario:
<?php
echo $user->name;
?>
Y ahora mostremos el nombre de la ciudad de nuestro usuario:
<?php
echo $user->city->name;
?>
Se da la siguiente clase:
<?php
class Employee {
public $name;
public $position;
public $department;
public function __construct($name, $position, $department) {
$this->name = $name;
$this->position = $position;
$this->department = $department;
}
}
?>
Haz que al segundo y tercer parámetro se le pasen objetos de clases separadas.
Crea un objeto de empleado utilizando la clase de la tarea anterior.
Imprime en la consola el nombre, cargo y departamento del empleado creado.