Menu
Coddy logo textTech

Propiedades

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

Las propiedades son variables que pertenecen a una clase. Almacenan información sobre el estado del objeto. En PHP, las propiedades deben declararse dentro de la clase usando una palabra clave de visibilidad como public.

Las propiedades pueden tener valores predeterminados: cada objeto nuevo comienza con el mismo valor inicial, pero cada objeto conserva su propia copia independiente:

<?php
class Student {
    public $school = "PHP Academy";  // valor por defecto
    public $name;
    public $age;
}

Las propiedades sin valor predeterminado comienzan como null hasta que las estableces.

Puedes establecer los valores de las propiedades mediante un método y $this:

class Student {
    public $school = "PHP Academy";
    public $name;
    public $age;

    public function setInfo($name, $age) {
        $this->name = $name;    // establecer datos de instancia
        $this->age = $age;      // establecer datos de instancia
    }
}

Crea objetos de estudiantes y establece sus datos individuales:

$student1 = new Student();
$student2 = new Student();

$student1->setInfo("Alice", 20);
$student2->setInfo("Bob", 22);

Accede a las propiedades:

echo $student1->name . "\n";          // Alice
echo $student2->name . "\n";          // Bob
echo $student1->school . "\n";        // PHP Academy
echo $student2->school . "\n";        // PHP Academy

Salida:

Alice
Bob
PHP Academy
PHP Academy

Diferencia clave: las propiedades con valores predeterminados (como $school) comienzan con el mismo valor para cada objeto. Las propiedades establecidas mediante métodos (como $name y $age) son únicas para cada objeto.

challenge icon

Desafío

Fácil

Completa la clase Student en student.php:

  1. Declare una property $school con valor default "PHP Academy"
  2. Declare las property $name y $age (sin valores predeterminados)
  3. Add un setInfo method que acepte los parámetros $name y $age y los sets using $this

El archivo driver.php probará tu clase creando dos estudiantes e imprimiendo su información.

Pruébalo tú mismo

<?php
require_once 'student.php';

$student1 = new Student();
$student2 = new Student();

$student1->setInfo("Alice", 20);
$student2->setInfo("Bob", 22);

echo $student1->name . " is " . $student1->age . " at " . $student1->school . "\n";
echo $student2->name . " is " . $student2->age . " at " . $student2->school . "\n";
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