Menu
Coddy logo textTech

La palabra clave $this

Parte de la sección Programación Orientada a Objetos del Journey de PHP de Coddy. Lección 4 de 91.

La palabra clave $this hace referencia a la instancia actual de una clase dentro de sus métodos. Te permite acceder a las propiedades del objeto actual y modificarlas.

A continuación se muestra un ejemplo de una clase con métodos que utiliza $this:

<?php
class Car {
    public $color;
    public $model;

    public function honk() {
        echo "Beep beep!\n";
    }

    public function describe() {
        echo "I am a " . $this->color . " " . $this->model . "\n";
    }
}

La palabra clave $this se utiliza dentro de los métodos para referirse al objeto que llamó al método.

Crea un objeto car y establece sus propiedades:

$myCar = new Car();
$myCar->color = "Red";
$myCar->model = "Sedan";

Ahora llama a los métodos:

$myCar->honk();
$myCar->describe();

Salida:

Beep beep!
I am a Red Sedan

Cuando llamas a $myCar->describe(), PHP establece automáticamente $this para que haga referencia a $myCar. Así es como el método sabe a qué propiedades del objeto acceder.

Si tuvieras otro objeto car:

$otherCar = new Car();
$otherCar->color = "Blue";
$otherCar->model = "SUV";
$otherCar->describe(); // Soy un Blue SUV

Punto clave: $this siempre se refiere al objeto específico que llamó al método. Cada objeto obtiene su propio contexto cuando se ejecuta un método.

challenge icon

Desafío

Fácil

Completa la clase Car en car.php añadiendo un método llamado displayInfo que use la palabra clave $this para imprimir el año, la marca y el modelo del automóvil con el formato:

"This car is a [year] [make] [model]"

  • car.php: Contiene la definición de la clase Car, donde añadirás el método displayInfo
  • driver.php: Archivo principal de ejecución que importa y utiliza la clase Car (bloqueado)

Pruébalo tú mismo

<?php
require_once 'car.php';

$myCar = new Car();
$myCar->year = 2020;
$myCar->make = "Toyota";
$myCar->model = "Corolla";

$myCar->displayInfo();
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Programación Orientada a Objetos

Practica por tu cuenta: Compilador de PHP online