Tutorial PHP

PHP INICIO Introducción PHP Instalación de PHP Sintaxis PHP Comentarios PHP Variables PHP PHP Echo / Imprimir Tipos de datos PHP Cadenas PHP Números PHP Matemáticas PHP Constantes PHP Operadores PHP PHP Si... Más... Elseif Cambio de PHP Bucles de PHP Funciones PHP Matrices de PHP Superglobales de PHP PHP expresión regular

Formularios PHP

Manejo de formularios PHP Validación de formulario PHP Formulario PHP requerido Formulario PHP URL/Correo electrónico Formulario PHP completo

PHP Avanzado

Fecha y hora PHP PHP Incluir Manejo de archivos PHP Archivo PHP Abrir/Leer Archivo PHP Crear/Escribir Carga de archivos PHP Cookies PHP Sesiones PHP Filtros PHP Filtros PHP avanzados Funciones de devolución de llamada de PHP PHPJSON Excepciones de PHP

POO de PHP

PHP ¿Qué es la programación orientada a objetos? Clases PHP/Objetos Constructor PHP Destructor PHP Modificadores de acceso de PHP Herencia de PHP Constantes PHP Clases abstractas de PHP Interfaces PHP Características de PHP Métodos estáticos de PHP Propiedades estáticas de PHP Espacios de nombres de PHP Iterables de PHP

Base de datos MySQL

Base de datos MySQL Conexión MySQL MySQL Crear base de datos Crear tabla MySQL MySQL Insertar datos MySQL Obtener la última identificación MySQL Insertar Múltiples MySQL preparado Datos seleccionados de MySQL mysql donde MySQL Ordenar por MySQL Eliminar datos Datos de actualización de MySQL Límite de datos de MySQL

PHPXML _

Analizadores PHP XML Analizador PHP SimpleXML PHP SimpleXML - Obtener PHP XML Expatriados PHP XML DOM

PHP -AJAX

Introducción a AJAX AJAXPHP Base de datos AJAX XML AJAX Búsqueda en vivo de AJAX Encuesta AJAX

Ejemplos de PHP

Ejemplos de PHP Compilador PHP Cuestionario de PHP Ejercicios PHP Certificado PHP

Referencia PHP

Descripción general de PHP Matriz de PHP Calendario PHP Fecha PHP Directorio PHP Error PHP Excepción PHP Sistema de archivos PHP Filtro PHP PHPFTP PHPJSON Palabras clave PHP PHP Libxml Correo PHP Matemáticas PHP PHP misceláneo PHP MySQLi Red PHP Control de salida de PHP PHP expresión regular PHP SimpleXML flujo PHP Cadena PHP Manejo de variables de PHP Analizador PHP XML código postal de PHP Zonas horarias de PHP

PHP OOP - Clases y Objetos


Una clase es una plantilla para objetos y un objeto es una instancia de clase.


caso de programación orientada a objetos

Supongamos que tenemos una clase llamada Fruit. Una fruta puede tener propiedades como nombre, color, peso, etc. Podemos definir variables como $nombre, $color y $peso para contener los valores de estas propiedades.

Cuando se crean los objetos individuales (manzana, plátano, etc.), heredan todas las propiedades y comportamientos de la clase, pero cada objeto tendrá diferentes valores para las propiedades.


Definir una clase

Una clase se define usando la class palabra clave, seguida del nombre de la clase y un par de llaves ({}). Todas sus propiedades y métodos van dentro de las llaves:

Sintaxis

<?php
class Fruit {
  // code goes here...
}
?>

A continuación, declaramos una clase llamada Fruit que consta de dos propiedades ($name y $color) y dos métodos set_name() y get_name() para establecer y obtener la propiedad $name:

<?php
class Fruit {
  // Properties
  public $name;
  public $color;

  // Methods
  function set_name($name) {
    $this->name = $name;
  }
  function get_name() {
    return $this->name;
  }
}
?>

Nota: ¡En una clase, las variables se llaman propiedades y las funciones se llaman métodos!


Definir objetos

¡Las clases no son nada sin objetos! Podemos crear múltiples objetos de una clase. Cada objeto tiene todas las propiedades y métodos definidos en la clase, pero tendrán diferentes valores de propiedad.

Los objetos de una clase se crean utilizando la newpalabra clave.

En el siguiente ejemplo, $manzana y $banana son instancias de la clase Fruta:

Ejemplo

<?php
class Fruit {
  // Properties
  public $name;
  public $color;

  // Methods
  function set_name($name) {
    $this->name = $name;
  }
  function get_name() {
    return $this->name;
  }
}

$apple = new Fruit();
$banana = new Fruit();
$apple->set_name('Apple');
$banana->set_name('Banana');

echo $apple->get_name();
echo "<br>";
echo $banana->get_name();
?>

En el siguiente ejemplo, agregamos dos métodos más a la clase Fruit, para establecer y obtener la propiedad $color:

Ejemplo

<?php
class Fruit {
  // Properties
  public $name;
  public $color;

  // Methods
  function set_name($name) {
    $this->name = $name;
  }
  function get_name() {
    return $this->name;
  }
  function set_color($color) {
    $this->color = $color;
  }
  function get_color() {
    return $this->color;
  }
}

$apple = new Fruit();
$apple->set_name('Apple');
$apple->set_color('Red');
echo "Name: " . $apple->get_name();
echo "<br>";
echo "Color: " . $apple->get_color();
?>


PHP - La palabra clave $this

La palabra clave $this se refiere al objeto actual y solo está disponible dentro de los métodos.

Mira el siguiente ejemplo:

Ejemplo

<?php
class Fruit {
  public $name;
}
$apple = new Fruit();
?>

Entonces, ¿dónde podemos cambiar el valor de la propiedad $name? Hay dos maneras:

1. Dentro de la clase (agregando un método set_name() y usando $this):

Ejemplo

<?php
class Fruit {
  public $name;
  function set_name($name) {
    $this->name = $name;
  }
}
$apple = new Fruit();
$apple->set_name("Apple");

echo $apple->name;
?>

2. Fuera de la clase (cambiando directamente el valor de la propiedad):

Ejemplo

<?php
class Fruit {
  public $name;
}
$apple = new Fruit();
$apple->name = "Apple";

echo $apple->name;
?>

PHP - instancia de

Puede usar la instanceofpalabra clave para verificar si un objeto pertenece a una clase específica:

Ejemplo

<?php
$apple = new Fruit();
var_dump($apple instanceof Fruit);
?>