POO (Programación Orientada a Objetos) con PHP

La Programacion Orientada a Objetos (POO) es un tipo de programacion agregada a php5 que hace la construcción compleja, modular, y aplicaciones web reusables y mucho mas faciles.

Con el lanzamiento del php5, los programadores php finalmente tienen el poder de codificar como los otros lenguajes como Java y C#, php finalmente tiene una complete infraestructura POO.

La POO principalmente hace uso de clases, objetos, relaciones, instancias, propiedades y métodos. Este proceso se suele hacer referencia a como la encapsulación de información, ya que su objetivo es el de dividir una aplicación en distintas entidades cuyos componentes internos pueden cambiar sin alterar sus interfaces externas.

Declarando una Clase

La Declaración basica de una Clase:

<?php
class MyClass{
/* contenido */
var name;
}

la clase llamada myClass cuyo contenido será normalmente una combinación de constantes, variables y funciones (llamados métodos).
Nota: Los datos/variables dentro de una clase (ej: var name ) son llamados “propiedades”.

Instanciando un Objeto

Una vez que se haya declarado una clase, se necesita crear una instancia con el fin de aprovecharlas.

<?php
$MyObj = New MyClass();

Uso de variable “$this”

<?php
$this->name = $new_name.

El $this is una variable incluida (construida dentro de todos los objetos) que apunta al objeto actual. O en otras palabras, $this es una variable especial de auto-referencia. Usted usa $this para accesar a las propiedades y llamar a otros metodos de la clase actual.

Herencia de clases
Uno de los conceptos fundamentales de la POO es la herencia. Esto permite una clase que se extiendan a otra clase, esencialmente la adición de nuevos métodos y propiedades según sea necesario:

<?php
class a {
function test()
{ echo “a::test called”; }
function func()
{ echo “a::func called”; }
}class b extends a
{
function test()
{ echo “b::test called”; }
}

 

class c extends b
{
function test()
{ parent::test(); }
}
class d extends c
{
function test()
{ b::test(); }
}

$a = new a();
$b = new b();
$c = new c();
$d = new d();

$a->test(); // Outputs “a::test called”
$b->test(); // Outputs “b::test called”
$b->func(); // Outputs “a::func called”
$c->test(); // Outputs “b::test called”
$d->test(); // Outputs “b::test called”

Comments

olvide agregar en el titulo que esto era algo basico para los que recien se inician en el mundo del php.

buen aporte Juan, e visto tu aporte es muy bueno si se busca algo mas extenso.