Una clase en PHP es una estructura fundamental en la programación orientada a objetos (POO) que permite crear moldes o modelos para objetos. Las clases en PHP son utilizadas para definir propiedades (variables) y métodos (funciones) que luego pueden ser instanciados como objetos.
En términos simples, una clase es un plano o plantilla de la cual se pueden crear múltiples objetos. Cada objeto es una instancia de la clase y tiene acceso a sus propiedades y métodos.
La sintaxis básica para definir una clase en PHP es bastante directa. Aquí hay un ejemplo elemental:
```php
class Coche {
public $marca;
public $modelo;
En este ejemplo, la clase `Coche` tiene dos propiedades (`marca` y `modelo`) y un constructor que inicializa estas propiedades. Además, contiene un método `mostrarInfo` que devuelve una cadena con la información del coche.
Para crear un objeto (instancia de una clase), se utiliza la palabra clave `new`:
```php
$miCoche = new Coche(“Toyota”, “Corolla”);
echo $miCoche->mostrarInfo(); // Salida: Marca: Toyota, Modelo: Corolla
?>
```
Uno de los principios fundamentales de la POO es el encapsulamiento, que se refiere a la capacidad de restringir el acceso a ciertos componentes de un objeto. PHP permita definir la visibilidad de las propiedades y métodos utilizando las palabras clave `public`, `protected` y `private`.
- `public`: Las propiedades y métodos pueden ser accedidos desde cualquier contexto.
- `protected`: Solo pueden ser accedidos desde la propia clase y sus subclases.
- `private`: Solo pueden ser accedidos desde la propia clase.
Aquí un ejemplo que ilustra el uso de modificadores de acceso:
```php
class Persona {
private $nombre;
protected $edad;
public $genero;
La herencia es un mecanismo por el cual una clase puede heredar propiedades y métodos de otra clase. En PHP, esto se hace utilizando la palabra clave `extends`.
```php
class Empleado extends Persona {
private $puesto;
Para esta respuesta se han consultado fuentes reconocidas y confiables sobre PHP, como la documentación oficial de PHP ([php.net](https://www.php.net/manual/es/language.oop5.php)), así como materiales didácticos de plataformas educativas de prestigio en la programación, tales como [W3Schools en Español](https://www.w3schools.com/php/php_oop_classes_objects.asp) y [MDN Web Docs](https://developer.mozilla.org/es/docs/Web/Guide/A_re-introduction_to_JavaScript).
En resumen, una clase en PHP es una estructura fundamental que permite la implementación de la programación orientada a objetos, concepto esencial para crear aplicaciones más organizadas y fáciles de mantener.