¿Una clase abstracta siempre tiene que tener un método abstracto?

¿Una clase abstracta siempre tiene que tener un método abstracto?

Misceláneos
Respuesta corta: NO (Al menos en PHP). ¿Querés los detalles? Seguí leyendo... Esta pregunta surgió en una clase de POO y me pareció interesante compartir la respuesta ya que no es realmente trivial. El ejemplo que estábamos viendo era el siguiente: Teníamos un sistema que manejaba clientes, con lo cual, contaba con una clase Cliente: class Cliente { private $nombre; private $apellido; private $cuit; private $email; public function __construct( $nombre, $apellido, $cuit, $email ) { $this->setNombre($nombre); ... } public function setNombre( $nombre ) { $this->nombre = $nombre; } ... } Pronto vimos la necesidad de especializar esta clase en tres subclases diferentes: class PYME extends Cliente { } class PersonaFisica extends Cliente { } class Multinacional extends Cliente { } Dado que los requerimientos del sistema quedaron más claros y era…
Leer más
Cómo conectar un botón HTML con un método de un objeto php

Cómo conectar un botón HTML con un método de un objeto php

Cómo hacer para...
Un alumno del curso de PHP Orientado a Objetos me hizo esta pregunta: Necesito hacer que un botón o link de mi HTML ejecute un método de un objeto php. Intenté lo siguiente pero sin éxito: <a href="<?php $objeto->Método() ?>"> Reservar </a> La pregunta encerraba una confusión respecto del modelo de ejecución de PHP. Revisemos un poco Cuál es el modelo de ejecución de PHP Lo primero que hay que entender para responder esta pregunta es el ciclo de vida de una petición a una aplicación (o página) PHP. Recordemos que PHP es un lenguaje pensado (al menos originalmente) para generar código HTML en forma dinámica sin recurrir a complicados mecanismos tipo CGI. HTML es la salida por defecto de PHP cuando se ejecuta como módulo de algún servidor web (Apache por…
Leer más