Este blog tiene como meta servir de ayuda y facilitar a los usuarios información del Lenguaje De Programación PHP
Bienvenidos
 
jueves, 9 de octubre de 2014
Conceptos de Programación Orientada a Objetos
       La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa los objetos en sus interacciones, para diseñar aplicaciones y programas informáticos. Está basado en varias técnicas, incluyendo herencia, cohesión, abstracción, polimorfismo, acoplamiento y encapsulamiento.
 Su uso se popularizó a principios de la década de los años 1990. En la 
actualidad, existe una gran variedad de lenguajes de programación que 
soportan la orientación a objetos.
Ejercicios con orientación a objetos PHP, AÑADIENDO PROPIEDADES
Añadiendo propiedades
Una propiedad no es más que una variable, y la usaremos para guardar información sobre el objeto en sí. Veamos cómo añadir nuestras propiedades.| 
1 
2 
3 
4 | classUsuario {    public$usuario;    public$password;} | 
public. Por ahora quédate con que la propiedad es pública lo cual quiere decir que cualquiera puede acceder a ella. Después de public, tenemos el nombre de la propiedad.Veamos cómo escribir y leer estas propiedades.
| 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 | classUsuario {         public$usuario;        public$password; } $juan= newUsuario; $juan->usuario = 'juan';$juan->password = '01juan01';echo$juan->usuario; // juan | 
$juan->[nombre_propiedad]. Quizá te estés preguntando… ¿por qué no puedo hacer algo así? Usuario->usuario.
 La respuesta es, que puede haber un número indeterminado de usuarios y,
 el valor 01juan01 está dentro del objeto, no de la clase.
Ejercicios con orientación a objetos PHP, AÑADIENDO METODOS
Añadiendo métodos
Añadir métodos es tan sencillo como añadir propiedades. Vamos a añadir un método para saludar.| 
1 
2 
3 
4 
5 
6 
7 
8 | classUsuario {    public$usuario;    public$password;    publicfunctionsaludar() {        echo'¡Hola '.$this->usuario.'!';    }} | 
$this? $this es la forma que tienen los objetos de referirse a sí mismos. Por ende, para poder acceder al valor de $usuario desde el propio objeto, tendremos que valernos de $this.Llamar al método no tiene mucho misterio:
| 
1 
2 
3 | $juan= newUsuario;$juan->usuario= 'juan';$juan->saludar(); // ¡Hola juan! | 
| 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 | $usuarios= null;$usuarios[] = newUsuario;$usuarios[] = newUsuario;$usuarios[0]->usuario = 'juan';$usuarios[1]->usuario = 'manolo';foreach($usuariosas$usuario) {    $usuario->saludar();}// '¡Hola juan!'// '¡Hola manolo!' | 
Ejercicios con orientación a objetos PHP, de CONSTRUCTORES Y DESTRUCTORES
Constructores y destructores
Cuando una clase se crea o se destruye, se llama a unos métodos mágicos como ya hemos adelantado. Si queremos realizar alguna acción en cualquiera de los dos eventos, tendremos que definir esos métodos e implementar su funcionalidad.El método
__construct() se llama cuando creamos una 
clase y suele ser un buen punto para rellenar información por defecto, o
 formar un objeto con algo que venga de la base de datos, etc.| 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 | classUsuario {    public$usuario;    public$password;    publicfunction__construct() {        $this->password = '1234'; //Seguridad al poder!    }}$usuario= newUsuario;echo$usuario->password; // 1234 | 
| 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 | classUsuario {    public$usuario;    public$password;    publicfunction__construct($usuario) {        $this->password = '1234';        $this->usuario = $usuario;    }}$usuario= newUsuario('juan');echo$usuario->usuario; // juan | 
__destruct() de todas las clases en caso de que lo tengan. También podemos forzarlo usando la función unset sobre el objeto. En el destructor se suelen implementar cierres de conexiones a bases de datos, liberación de memoria, etc.Veámoslo en un breve ejemplo:
| 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 | classUsuario {    public$usuario;    public$password;       publicfunction__construct($usuario) {        $this->password = '1234';        $this->usuario = $usuario;    }    publicfunction__destruct() {        echo'Muero...';    }}$usuario= newUsuario('juan');unset($usuario); // 'Muero...'; | 
Ejercicios con orientación a objetos PHP , de HERENCIA DE CLASES
Herencia de clases
Aquí es donde veremos uno de los aspectos más potentes de la orientación a objetos. Una clase puede heredar propiedades y métodos de otra clase. Esto es útil cuando quieres añadir funcionalidad a una clase ya existente.Siguiendo nuestro ejemplo, nuestra clase padre es
Usuario y ahora, vamos a crear una clase hija que sea Administrador. | 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 | classUsuario {    public$usuario;    public$password;       publicfunctionsaludar() {        echo'Hola '.$this->usuario;    }}classAdministrador extendsUsuario {    publicfunctionbanear($usuario) {        echo$usuario->usuario." ha sido baneado";    }}$usuario= newUsuario;$usuario->usuario = 'juan';$admin= newAdministrador;$admin->usuario = 'Súper López';$admin->saludar(); // Hola Súper López$admin->banear($usuario); // juan ha sido baneado | 
extends, la clase Administrador ha heredado las propiedades usuario y password y el método saludar y hemos añadido un nuevo método banear
 a esta clase extendiendo las funcionalidades básicas de un usuario. 
Quizá el ejemplo sea muy absurdo pero tened en cuenta que podemos querer
 implementar funciones más complejas como login, logout, etc. y de esta forma nos acabamos ahorrando muchísimo código.
Ejercicios con orientación a objetos PHP, SOBREESCRIBIENDO METODOS
Sobreescribiendo métodos
Sobreescribir un método es tan sencillo como… ¡volverlo a definir! En la clase hija, volvemos a definir el método saludar.| 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 | classUsuario {    public$usuario;    public$password;       publicfunctionsaludar() {        echo'Hola '.$this->usuario;    }}classAdministrador extendsUsuario {    publicfunctionsaludar() {        echo'Hola admin>> '.$this->usuario;    }    publicfunctionbanear($usuario) {        echo$usuario->usuario." ha sido baneado";    }}$admin= newAdministrador;$admin->usuario = 'Súper López';$admin->saludar(); // Hola admin>> Súper López | 
| 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 | classUsuario {    public$usuario;    public$password;       publicfunctionsaludar() {        echo'Hola '.$this->usuario;    }}classAdministrador extendsUsuario {    publicfunctionsaludar() {             echo'¡';        parent::saludar();        echo'!';    }    publicfunctionbanear($usuario) {        echo$usuario->usuario." ha sido baneado";    }}$admin= newAdministrador;$admin->usuario = 'Súper López';$admin->saludar(); // ¡Hola Súper López! | 
Ejercicios con orientación a objetos PHP, de VISIBILIDAD DE METODOS Y PROPIEDADES
Visibilidad de métodos y propiedades
Hasta ahora tanto las propiedades como los métodos que hemos vistos, eran todospublic. Ahora vamos a ver qué significa eso y el resto de tipos que tenemos.public A los métodos y propiedades
public, se puede acceder desde cualquier sitio. Tanto dentro de la clase como fuera.protected Cuando declaramos una propiedad o método como
protected, solo podremos accederlos desde la propia clase o sus descendientes (las clases hijas).private Los métodos y propiedades
private solo pueden ser leídos dentro de la propia clase que lo define. Este breve ejemplo nos muestra lo que pasaría:| 
1 
2 
3 
4 
5 
6 
7 | classUsuario {    public$usuario;    private$password;}$usuario= newUsuario;$usuario->password = 'Argofifa'; // <-- ERROR! | 
Ejercicios con orientación a objetos PHP, de CLASES y METODOS ESTATICOS
Clases y métodos estáticos
Las clases y métodos estáticos pueden ser de cualquiera de los tipos anteriores,public, protected o private
 pero tienen la peculiaridad de que no requieren que la clase sea 
instanciada. Además, las propiedades estáticas guardan el valor durante 
la ejecución del script. Veamos un breve ejemplo:| 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 | classUsuario {    public$usuario;    public$password;    publicstatic$contador= 0;        publicfunction__construct() {        self::$contador++;    }}$usuario1= newUsuario;echoUsuario::$contador; // 1$usuario1= newUsuario;echoUsuario::$contador; // 2 | 
$this, pero tendremos acceso a self,
 que viene a ser lo mismo solo que únicamente podremos usar métodos y 
propiedades estáticas. Puedes llamar a métodos y usar propiedades 
estáticas desde un método público pero no al contrario.
Operadores De Incremento y Decremento
<?php
echo "OPERADORES INCREMENTO";
$a = 3;
echo "</br>VARIABLE a = $a ";
$a++;
echo "</br>VARIABLE a = $a ";
echo "</br>OPERADORES DECREMENTO";
$b = 34;
echo "</br>VARIABLE a = $b ";
$b--;
echo "</br>VARIABLE a = $b ";
?>
echo "OPERADORES INCREMENTO";
$a = 3;
echo "</br>VARIABLE a = $a ";
$a++;
echo "</br>VARIABLE a = $a ";
echo "</br>OPERADORES DECREMENTO";
$b = 34;
echo "</br>VARIABLE a = $b ";
$b--;
echo "</br>VARIABLE a = $b ";
?>
Ejercicios con IF y ELSE
<?php
// ejemplos con if else
/* En una compra, si el descuento es 7%
si el monto es superior a 2000, el desceunto es 10% */
$monto1 = 11230000;
$monto2 = 2000;
$descuento1 = 10.0;
$descuento2 = 0.5;
if ($monto1 > 11230000)
{
$descuento1 = $monto1 * 10.0;
}
else
{
$descuento1 = $monto1 * 0.05;
}
if ($monto2 > 2000)
{
$descuento2 = $monto2 * 10.0;
}
else
{
$descuento2 = $monto2 * 0.05;
}
echo "</br> monto = $monto1 descuento = $descuento1 ";
echo "</br> monto = $monto2 descuento = $descuento2 ";
?>
;
IF
<?php
// ejemplos con if
/* En una compra, si el monto es superior a 100000, el desceunto es
17%*/
$monto1 = 1230000;
$descuento = 0.17;
if ($monto1 > 100000)
{
$descuento = $monto1 * 0.17;
}
echo "</br> monto = $monto1 descuento = $descuento ";
$monto1 = 3140;
$descuento = 0;
if ($monto1 > 100000)
{
$descuento = $monto1 * 0;
}
echo "</br> monto = $monto1 descuento = $descuento ";
?>
// ejemplos con if else
/* En una compra, si el descuento es 7%
si el monto es superior a 2000, el desceunto es 10% */
$monto1 = 11230000;
$monto2 = 2000;
$descuento1 = 10.0;
$descuento2 = 0.5;
if ($monto1 > 11230000)
{
$descuento1 = $monto1 * 10.0;
}
else
{
$descuento1 = $monto1 * 0.05;
}
if ($monto2 > 2000)
{
$descuento2 = $monto2 * 10.0;
}
else
{
$descuento2 = $monto2 * 0.05;
}
echo "</br> monto = $monto1 descuento = $descuento1 ";
echo "</br> monto = $monto2 descuento = $descuento2 ";
?>
;
IF
<?php
// ejemplos con if
/* En una compra, si el monto es superior a 100000, el desceunto es
17%*/
$monto1 = 1230000;
$descuento = 0.17;
if ($monto1 > 100000)
{
$descuento = $monto1 * 0.17;
}
echo "</br> monto = $monto1 descuento = $descuento ";
$monto1 = 3140;
$descuento = 0;
if ($monto1 > 100000)
{
$descuento = $monto1 * 0;
}
echo "</br> monto = $monto1 descuento = $descuento ";
?>
Ejemplos Con While, listando PAR E IMPAR
<?php
// ejemplos con while
/* Escribir un programa que lista los numeros del 1 al 1000 */
$numero = 1;
while ($numero <= 1000)
{
echo "</br> $numero ";
$numero++;
}
?>
;
<?php
// ejemplos con while
/* Escribir un programa que lista los numeros del 1 al 100 */
$numero = 0;
while ($numero < 100)
{
$numero++;
echo "</br> $numero ";
}
?>
;
PAR
En Orden Par
<?php
// ejemplos con while
/* Escribir un programa que lista los numeros pares entre
1 y 100 */
$numero = 0;
while ($numero <= 100)
{
$numero++;
if ($numero % 2 == 0)
{
echo "</br> $numero ";
}
}
?>
IMPAR
En Orden impar
<?php
// ejemplos con while
/* Escribir un programa que lista los numeros impares entre
2 y 101 */
$numero = 2;
while ($numero <= 101)
{
$numero++;
if ($numero %2 == 1)
{
echo "</br> $numero ";
}
}
?>
// ejemplos con while
/* Escribir un programa que lista los numeros del 1 al 1000 */
$numero = 1;
while ($numero <= 1000)
{
echo "</br> $numero ";
$numero++;
}
?>
;
<?php
// ejemplos con while
/* Escribir un programa que lista los numeros del 1 al 100 */
$numero = 0;
while ($numero < 100)
{
$numero++;
echo "</br> $numero ";
}
?>
;
PAR
En Orden Par
<?php
// ejemplos con while
/* Escribir un programa que lista los numeros pares entre
1 y 100 */
$numero = 0;
while ($numero <= 100)
{
$numero++;
if ($numero % 2 == 0)
{
echo "</br> $numero ";
}
}
?>
IMPAR
En Orden impar
<?php
// ejemplos con while
/* Escribir un programa que lista los numeros impares entre
2 y 101 */
$numero = 2;
while ($numero <= 101)
{
$numero++;
if ($numero %2 == 1)
{
echo "</br> $numero ";
}
}
?>
Ejemplo Arreglo For
<?php
// ejemplos con arreglos y for
// CREAR EL ARREGLO $a
$a = array(1000, 900, 800, 700, 600, 500);
// LISTAR LOS VALORES DEL ARREGLOS $a
// CREAR EL ARREGLO $b
$b = array(400, 300, 200, 100, 50, 0);
// LISTAR LOS VALORES DEL ARREGLOS $b
for ($i = 0; $i <= 5; $i++)
{
echo " $a[$i] ";
}
for ($i = 0; $i <= 5; $i++)
{
echo " $b[$i] ";
}
?>
;
Calcular
<?php
// ejemplos con for
/* Calcular el factorial de un numero */
$factorial = 21;
$numero = 55;
for ($i=1; $i <=$numero; $i++)
{
$factorial = $factorial * $i;
}
echo "numero = $numero factorial = $factorial ";
?>
;
Listando
<?php
// ejemplos con for
/* Escribir un programa que lista los numeros entre
1 y 100 */
for ($i=1; $i <=100; $i++)
{
echo "</br> $i ";
}
?>
 
// ejemplos con arreglos y for
// CREAR EL ARREGLO $a
$a = array(1000, 900, 800, 700, 600, 500);
// LISTAR LOS VALORES DEL ARREGLOS $a
// CREAR EL ARREGLO $b
$b = array(400, 300, 200, 100, 50, 0);
// LISTAR LOS VALORES DEL ARREGLOS $b
for ($i = 0; $i <= 5; $i++)
{
echo " $a[$i] ";
}
for ($i = 0; $i <= 5; $i++)
{
echo " $b[$i] ";
}
?>
;
Calcular
<?php
// ejemplos con for
/* Calcular el factorial de un numero */
$factorial = 21;
$numero = 55;
for ($i=1; $i <=$numero; $i++)
{
$factorial = $factorial * $i;
}
echo "numero = $numero factorial = $factorial ";
?>
;
Listando
<?php
// ejemplos con for
/* Escribir un programa que lista los numeros entre
1 y 100 */
for ($i=1; $i <=100; $i++)
{
echo "</br> $i ";
}
?>
Ejemplo Con Arreglos y For
<?php
// ejemplos con arreglos y for
// CREAR EL ARREGLO $a
$a = array("VICTOR ORTIZ", "JUAN VEGA", "MARIA SUAREZ", "OCTAVIO MACHADO", "MANUEL PEREZ", "IVAN LOPEZ");
// LISTAR LOS VALORES DEL ARREGLOS $a
//CREAR EL ARREGLO $b
$b = array("LUIS MARTINEZ", "CARLOS GARCIA", "HENDERSON RODRIGUEZ", "ALEJANDRA PAEZ", "NEHOMAR ESTEVEZ", "JUNIOR INFANTE");
// LISTAR LOS VALORES DEL ARREGLOS $b
foreach ($a as $salida )
{
echo "</br> $salida ";
}
foreach ($b as $salida )
{
echo "</br> $salida ";
}
?>
;
 
<?php
// ejemplos con arreglos y for
// CREAR EL ARREGLO $a
$a = array("LINDOLFO", "FEDERICO", "RAMON", "ROMAN");
// LISTAR LOS VALORES DEL ARREGLOS $a
// CREAR EL ARREGLO $b
$b = array("PETRA", "RAMONA", "ATRONOMELIA", "FEDERICA");
// LISTAR LOS VALORES DEL ARREGLOS $B
for ($i = 0; $i <= 3; $i++)
{
echo "</br> $a[$i] ";
}
for ($i = 0; $i <= 3; $i++)
{
echo "</br> $b[$i] ";
}
?>
// ejemplos con arreglos y for
// CREAR EL ARREGLO $a
$a = array("VICTOR ORTIZ", "JUAN VEGA", "MARIA SUAREZ", "OCTAVIO MACHADO", "MANUEL PEREZ", "IVAN LOPEZ");
// LISTAR LOS VALORES DEL ARREGLOS $a
//CREAR EL ARREGLO $b
$b = array("LUIS MARTINEZ", "CARLOS GARCIA", "HENDERSON RODRIGUEZ", "ALEJANDRA PAEZ", "NEHOMAR ESTEVEZ", "JUNIOR INFANTE");
// LISTAR LOS VALORES DEL ARREGLOS $b
foreach ($a as $salida )
{
echo "</br> $salida ";
}
foreach ($b as $salida )
{
echo "</br> $salida ";
}
?>
;
<?php
// ejemplos con arreglos y for
// CREAR EL ARREGLO $a
$a = array("LINDOLFO", "FEDERICO", "RAMON", "ROMAN");
// LISTAR LOS VALORES DEL ARREGLOS $a
// CREAR EL ARREGLO $b
$b = array("PETRA", "RAMONA", "ATRONOMELIA", "FEDERICA");
// LISTAR LOS VALORES DEL ARREGLOS $B
for ($i = 0; $i <= 3; $i++)
{
echo "</br> $a[$i] ";
}
for ($i = 0; $i <= 3; $i++)
{
echo "</br> $b[$i] ";
}
?>
Ejemplo Simple
<?php
echo "HOLA MUNDO";
?>
;
<?php
$nombre = "SR.RYAN BLAKE";
echo "HOLA MAESTER, COMO ESTA? ". $nombre;
?>
echo "HOLA MUNDO";
?>
;
<?php
$nombre = "SR.RYAN BLAKE";
echo "HOLA MAESTER, COMO ESTA? ". $nombre;
?>
Suscribirse a:
Comentarios (Atom)
 
