Guía php

Page 1

GuĂ­a PHP Por: Reyes Tovar Selene Villavicencio Ortega Victor Taurino


Atributo 

Un atributo es una característica de un objeto. Mediante los atributos se define información oculta dentro de un objeto, la cual es manipulada solamente por los métodos definidos sobre dicho objeto. Cada atributo está asociado a un tipo de dato, que puede ser simple (entero, real, lógico, carácter, string) o estructurado (arreglo, registro, archivo, lista, etc.)


Código 

<?php

class Usuario {

public $usuario;

public $nombre;

public $password; }

$atributos = new Usuario;

$atributos->usuario = 'Juan';

$atributos->nombre = 'Torres';

$atributos->password = 'Juan1234';

echo "<h2>Estos son atributos</h2>"; echo "El nombre del usuario es: "; echo $atributos>usuario; echo "<br>"; echo "El nombre del usuario es: "; echo $atributos->nombre; echo "<br>"; echo "El password del usuario es: "; echo $atributos->password;

?>


Ejecuci贸n


Métodos 

Son las operaciones (acciones o funciones) que se aplican sobre los objetos y que permiten crearlos, cambiar su estado o consultar el valor de sus atributos.

Los métodos constituyen la secuencia de acciones que implementan las operaciones sobre los objetos. La implementación de los métodos no es visible fuera de objeto.

La sintaxis algorítmica de los métodos expresados como funciones y acciones es:

Para funciones se pueden usar cualquiera de estas dos sintaxis:

<Modo de Acceso> Función <Nombre> [(Lista Parámetros)]: <Descripción del Tipo de datos>

Para acciones:

<Modo de Acceso> Acción <Nombre> [(Lista Parámetros)] donde los parámetros son opcionales


Código 

<?php

class Usuario {

public $usuario;

public $apellido;

public $password; public function saludar() {

 

echo "<h2> Método </h2>";

echo 'Hola '.$this->usuario.' '.$this->apellido;

echo "<br>";

echo 'Tu contraseña es : '.$this->password; }

 

}


Ejecuci贸n


THIS 

Dentro de un método, la variable $this hace referencia al objeto sobre el que invocamos el método. En la invocación $micaja->introduce("algo") se está llamando al método introduce sobre el objeto $micaja. Cuando se está ejecutando ese método, se vuelca el valor que recibe por parámetro en el atributo contenido. En ese caso $this->contenido hace referencia al atributo contenido del objeto $micaja, que es sobre el que se invocaba el método.


Código 

Para que sea igual al ejemplo debe ser:

<?php

class Caja{

var $contenido;

function introduce($cosa){

$this->contenido = $cosa;

}

functionmuestra_contenido(){

return $this->contenido;

}

}

$micaja = new Caja;

$micaja->introduce("algo");

echo $micaja->muestra_contenido();

?>


Ejecuci贸n


Diferentes formas de pasar argumentos a un método 

Hacer que los argumentos sean pasados por referencia

Por defecto, los argumentos de las funciones son pasados por valor (por lo que si el valor del argumento dentro de la función se cambia, no se cambia fuera de la función). Para permitir a una función modificar sus argumentos, éstos deben pasarse por referencia. Para hacer que un argumento a una función sea siempre pasado por referencia hay que poner delante del nombre del argumento el signo (&) en la definición de la función:


Código 

<?php

function añadir_algo(&$cadena)

{ $cadena .= 'y algo más.';

 

}

$cad = 'Esto es una cadena, ';

añadir_algo($cad);

echo $cad;

?>

// imprime 'Esto es una cadena, y algo más.'


Ejecuci贸n


Diferentes formas de pasar argumentos a un mĂŠtodo ď‚› Valores

de argumentos predeterminados

Una funciĂłn puede definir valores predeterminados al estilo C++ para argumentos escalares como sigue:


Código 

<?php

function hacercafe($tipo = "capuchino")

{ return "Hacer una taza de $tipo.\n";

 

}

echo "<h3>Valores de argumentos predeterminados</h3>";

echo hacercafe();

echo "<br>";

echo hacercafe("espresso");

?>


Ejecuci贸n


Devolver un valor desde un método  Los

valores son devueltos usando la sentencia opcional RETURN. Se puede devolver cualquier tipo, incluidos arrays y objetos. Esto causa que la función finalice su ejecución inmediatamente y pase el control de nuevo a la línea desde la que fue llamada.


Código 

<?php

function cuadrado($núm){ return $núm * $núm /2 * 5;

 

}

echo "<h3>El Return regresa valores.</h3>";

echo "La operacion que se desarrollo es: 50 * 50 / 2 * 5";

echo "<br>";

echo "El resultado de la operación es: ";

echo cuadrado(50);

?>


Ejecuci贸n


El constructor  Los

constructores son funciones en una clase que son invocadas automáticamente cuando se crea una nueva instancia de una clase con new. Una función se vuelve un constructor, cuando tiene el mismo nombre que la clase. Si una clase no tiene constructor, el constructor de la clase base será invocado, si es que existe.


Código  <?php  class

cliente{

var $nombre;

var $numero;

var $peliculas_alquiladas;

 

function __construct ($nombre,$numero){

$this->nombre=$nombre;

$this->numero=$numero; $this->peliculas_alquiladas=array();

 

}

 

function dame_numero(){ return $this->numero;

 

}

}  //instanciamos

un par de objetos cliente

 $cliente1

= new cliente("Jose Luis", 158);

 $cliente2

= new cliente("Juan Jesus", 564);

  //mostramos

el numero de cada cliente creado

 echo

"<h3>El identificador del cliente 1 es: " . $cliente1->dame_numero();

 echo

"<br>";

 echo

"El identificador del cliente 2 es: " . $cliente2->dame_numero();

 echo

"</h3>";

 ?>


Ejecuci贸n


Herecia  La

herencia significa que se pueden crear nuevas clases partiendo de clases existentes, que tendrá todos los atributos y los métodos de su 'superclase' o 'clase padre' y además se le podrán añadir otros atributos y métodos propios.

 En

PHP, a diferencia de otros lenguajes orientados a objetos (C++), una clase sólo puede derivar de una única clase, es decir, PHP no permite herencia múltiple.


C贸digo


Ejecuci贸n


Polimirfismo 

El polimorfismo, como su nombre indica, sugiere múltiples formas. En programación cuando hablamos de polimorfismo nos referimos a la capacidad de acceder a múltiples funciones a través del mismo interfaz. Es decir que un mismo identificador, o función puede tener diferentes comportamientos en función del contexto en el que sea ejecutado.

El polimorfismo es un concepto difícil de entender en un primer momento y en mi opinión PHP no nos ayuda demasiado en este aspecto, al no ser este un lenguaje de programación fuertemente tipado.

Su implementación varía en función del lenguaje de programación. En algunos casos para establecer una relación poliformica es necesario que cada uno de los objetos implicados compartan una misma raíz, siendo entonces necesario establecer una jerarquía de clases. Este es el caso de los lenguajes de programación fuertemente tipados como Java.


C贸digo


Ejecuci贸n


Public, Private y Protected 

Public: Los elementos declarados como Public son accesibles tanto desde fuera como desde dentro de la clase.

Private: Los elementos declarados como Private son accesibles sólo desde la misma clase donde fueron definidos.

Protected: Los elementos declarados como Protected son accesibles desde la misma clase donde fueron definidos y en sus subclases.


C贸digo


Ejecuci贸n


Clases abstractas 

Cuando se hereda de una clase abstracta, todos los métodos definidos como abstract en la definición de la clase parent deben ser redefinidos en la clase child; adicionalmente, estos métodos deben ser definidos con la misma visibilidad (o con una menos restrictiva). Por ejemplo, si el método abstracto está definido como protected, la implementación de la función puede ser redefinida como protected o public, pero nunca como private. Por otra parte, las estructuras de los métodos tienen que coincidir; es decir, la implicación de tipos y el número de argumentos requeridos deben ser los mismos.


C贸digo


Ejecuci贸n


Interfaz 

Las interfaces de objetos permiten crear código con el cual especificamos qué métodos deben ser implementados por una clase, sin tener que definir cómo estos métodos son manipulados.

Las interfaces son definidas utilizando la palabra clave interface, de la misma forma que con clases estándar, pero sin métodos que tengan su contenido definido.

Todos los métodos declarados en una interfaz deben ser public, ya que ésta es la naturaleza de una interfaz.


Código 

interface encendible{

public function encender();

public function apagar();

}

class bombilla implements encendible{ public function encender(){

echo "<br>Y la luz se hizo...";

 

}

public function apagar(){ echo "<br>Estamos a oscuras...";

}

 

}


Código 

class coche implements encendible{

private $gasolina;

private $bateria;

private $estado = "apagado";

function __construct(){ $this->gasolina = 0;

$this->bateria = 10;

}

public function encender(){

if ($this->estado == "apagado"){

if ($this->bateria > 0){

if ($this->gasolina > 0){ $this->estado = "encendido";

$this->bateria --;

echo "<br><b>Enciendo...</b> estoy encendido!";

}else{

echo "<br>No tengo gasolina";

}

}else{

echo "<br>No tengo batería";

}

}else{ echo "<br>Ya estaba encendido";

}

}

public function apagar(){

if ($this->estado == "encendido"){

$this->estado = "apagado";

echo "<br><b>Apago...</b> estoy apagado!";

}else{ echo "<br>Ya estaba apagado";

}

}

public function cargar_gasolina($litros){ $this->gasolina += $litros;

echo "<br>Cargados $litros litros";

}

}

function enciende_algo ($algo){ $algo->encender();

}


Código 

$mibombilla = new bombilla();

$micoche = new coche();

enciende_algo($mibombilla);

enciende_algo($micoche);

class cd{ public $espacio;

 

}

$micd = new cd();

enciende_algo($micd); //da un error. cd no implementa la interfaz encendible


Ejecuci贸n


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.