Clases y Objetos con PHP

0
26

n este capitulo iniciaremos con algo de teoría que debemos saber sobre PHP5 que ya ha estado mucho tiempo liberado, pero que en esta oportunidad quiero entrar en mas profundidad.
Introducción:
PHP5 viene con muchas nuevas, desde que salió esta versión la fortaleza y robustez de PHP se ha elevado mucho, ya que se puede decir que es orientado a objetos, con algunas faltas como namespaces.
El manejo de PHP fue reescrito por completo, dándonos así un mejor desempeño y muchas mas características.
La Clase:
Si han desarrollado en otros lenguajes orientado a objetos como Java por ejemplo se les ha hecho muy fácil acostumbrase a PHP5.
Cada definición empieza con la palabra “class” todo en minúsculas seguida por su el nombre de la clase en mayúsculas “Persona”, las cual no tiene que estar en la lista de palabras reservadas de PHP.

class Persona
{
protected $_nombre;
function __construct($nombre)
 {
  $this->_nombre = $nombre;
 }
 public function setNombre($nombre)
 {
  $this->_nombre = $nombre;
 }
 public function getNombre()
 {
  return $this->_nombre;
 }
}

Aquí vemos que declaramos una función __contruct(), esta función sirve como un constructor para PHP lo cual nos permite al momento de instanciarla llamar automáticamente a este método, dentro del método guardamos el parámetro en una variable protegida de la clase. Que luego la podemos recuperar llamando al método getNombre().
A esta característica de la clase que arme se le llama encapsulamiento de datos. La cual nos sirve para proteger nuestras variables teniendo como intermediarios a los métodos get y set para acceder a ella. (El encapsulamiento de datos se usa mucho en La Programación Modular y Orientada a Objetos).
Los métodos creados fíjense que tiene antepuesto la palabra public, esto hace que al momento de instanciar la Clase tengan el permiso suficiente para poder tratar con el, si en vez de public le hubiesen puesto private, el método solo permitiría ser accesado desde dentro de la clase (rutinas internas).
Ejemplo de lo escrito

$cesar = new Persona('Cesar Mancilla');
echo $cesar->getNombre;

Pero diran el método set?
Pudo ser así:

$cesar = new Persona();
$cesar->setNombre('Cesar Mancilla');
echo $cesar->getNombre;

el usar el constructor o no, va a depender en que situación estén al momento de armar la lógica en la programación.
Aquí dejo algunos enlaces que me parecen interesantes para una introducción a la programación orientada a objetos con PHP.
[Enlaces]
Programación Orientada a Objetos
Encapsulamiento de Datos
Constructores y Destructores
Palabras reservadas de PHP
MySQL, PHP Hosting