Manipulando clases en PHP

   Es que sin duda PHP se ha convertido en uno de los lenguajes mas populares en la web, sobre todo desde que Wordpress comenzó a utilizarlo en su entorno. A pesar de ser el mas utilizado, me encuentro con que hay mucha gente que no sabe ni la mitad de sus métodos, no utiliza las clases, no hace llamados a funciones, etc.... Una de las cosas mas importantes que debemos tener en cuenta al momento de programar es hacer un código óptimo y lo mas genérico posible.

   Con esto me refiero a que mucha gente (por ejemplo) crea un archivo para conectar a una base de datos utilizando MySQL, entonces crea el archivo y comienza con los "include" por todos lados en su código..... No es el deber ser!!!

   Lo correcto es crear una clase, por ejemplo "mysql.php" y desde allí llamar a todos sus métodos y retornar los valores, tal cual como explico en esta entrada con Java. Entonces vamos a explicar lo mismo para PHP.

   Primero lo primero, el constructor... Es un método que se invoca al inicializar nuestra clase, el método es llamado como "__construct()", sin embargo tiene una variante, tambien puede llamarse igual que la clase (y sigo, igual que en Java), tambien existe el método inverso pero no viene al caso.

   A este método podemos enviarle parámetros para inicializar variables, por ejemplo, tengo una variable, le envio un valor a la clase y así esa variable tendra el valor que definamos.

class Persona {

 private $nombre;
 
 public function __construct($un_nomrbre){
  $this->nombre = $un_nomrbre;
 }
 
 public function getNombre(){
  return $this->nombre;
 } 
}

   Como podemos ver, al inicializar la clase estamos definiendo los valores que tendra cada variable, y luego utilizamos funciones para retornar esos valores. Ahora solo nos resta hacer la llamada, para hacer esto debemos inicializar la clase y almacenar su valor en una variable, y luego cargar los métodos a partir de dicha variable, siguiendo con lo anterior:

$persona = new Persona ('Un Nombre');

echo "Nombre: ".$persona->getNombre();

   Una vez que sabemos esto entonces podemos comenzar a crear nuestra clase, como no me gusta estar creando "setters y getters" prefiero que en la inicialización de la clase se seteen los valores y luego los retorno con funciones, para este ejemplo utilizaremos una clase llamada "Persona" (como venimos trabajando en la entrada), y el archivo "clase_persona.php"...

class Persona {

 private $nombre;
 private $apellido;
 private $direccion;

 // Defino las variables al inicializar
 public function __construct($un_nomrbre, $un_apellido, $una_direccion){
  $this->nombre = $un_nomrbre;
  $this->apellido = $un_apellido;
  $this->direccion = $una_direccion;
 }
 
 // Con los GET retorno los valores
 public function getNombre(){
  return $this->nombre;
 }
 
 public function getApellido(){
  return $this->apellido;
 }
 
 public function getDireccion(){
  return $this->direccion;
 }
}

   Y ya solo nos resta incluir la clase y llamar a sus métodos:

// Cargo la clase al archivo
include('clase_persona.php');

// Inicializo la clase
$persona = new Persona ('Un Nombre', 'Un Apellido', 'Carlitox en la Web');

// Muestro los valores
echo "Nombre: ".$persona->getNombre()."<br/>".
  "Apellido: ".$persona->getApellido()."<br/>".
  "Direccion: ".$persona->getDireccion();

   Para ver el ejemplo correctamente recuerda tener ambos archivos en el mismo directorio, de lo contrario asegurémonos de definir bien la dirección del archivo en el include...


Lamentablemente hay muchos usuarios en la red que han llegado al blog para escribir obscenidades, así que la moderación se hace necesaria. Recuerda utilizar un lenguaje correcto y espera a que sea aprobado.

Si necesitas publicar código haz click en "Conversión" para hacerlo legible.
ConversiónConversión