Entendido.

Este sitio utiliza cookies para analizar la navegación. Si continúa navegando se entiende que acepta su uso. Ver más detalles.";

Logo

Aprende Web

Crea y diseña tus sitios en la Web.

Manual de PHP

PHP: imprescindible para crear páginas web de modo profesional


Y ahora tambien aprende a programar en C++ con Aprende Web C++

logo rss RSS. Suscribir canal.

Buscar en Aprende Web

Traducir página

Visita nuestro blog:

bolg.aprende-web.net

y entérate de las novedades o deja un comentario.

Dudas y sugerencias:

aprendeweb@aprende-web.net





Sobre ésta página

Ültima modificación: 29-01-2016.

Visitas este mes: 44

Visitas el mes pasado: 75

logo
WEB-GRAFÍA

Mi agradecimiento a los siguientes sitios en los que me he basado para la elaboración de este manual.:

Curso de PHP
www.programaciónweb.net
Lecciones PHP
WebTaller.com
Manual de PHP
manualdephp.com
Curso de PHP
Aula Fácil.com
Manual de PHP en español
manual-php.com
PHP a fondo
desarrolloweb.com
Manual de PHP
Foros del Web
Manual de PHP
www.php.net
PHP Tutorial
w3schools.com

Donativos

Si este sitio te parece interesante puedes contribuir con una pequeña aportación.




15. Objetos en PHP (I)

15.1 Programación con objetos

php

que es la POO.

La POO o Programación Orientada a Objetos se utiliza en muchos lenguajes de programación. En ella se crean una serie de clases de objetos, los cuales podemos asignarles unas propiedades y unos métodos o funciones.

Una clase es un tipo determinado de objetos, por ejemplo en una supuesta tienda en la que se venden diversos artículos, la clase herramientas puede agrupar a una serie de objetos, como por ejemplo martillo, llave_inglesa, o tenazas. Por tanto un objeto se crea siempre dentro de una clase a la cual pertenece.

Las propiedades están siempre relacionadas con los objetos, de forma que es el objeto el que posee unas propiedades. Siguiendo con nuestro ejemplo, las propiedades del objeto martillo podrían ser precio, tamaño o calidad.

Los métodos son funciones que podemos aplicar a los objetos, por ejemplo, en nuestra web queremos mostrar cada producto en una casilla, en la cual se mostrara una foto del producto, su precio, la calidad, etc. Podemos crear la función o método muestra_producto la cual utilizaremos para mostrar en pantalla las propiedades del producto de una forma estructurada.

Para programar con objetos, en primer lugar crearemos una clase de objetos, al crear la clase definiremos las propiedades y métodos que debe tener esa clase, y por último crearemos los objetos concretos de esa clase.


Creación de clases

Para definir una clase de objetos, utilizaremos la palabra reservada class seguida del nombre de la clase. A continuación, entre llaves escribiremos las propiedades y los métodos de la clase.

class Herramientas { ... }

Hemos puesto el nombre de la clase (Herramientas) con la primera letra en mayúscula, esto no es obligatorio, pero es conveniente para hacer una distinción entre nombres de clases y el resto de variables o código que podamos crear.


Definir propiedades

Una vez creada la clase, dentro de las llaves escribiremos en primer lugar las propiedades que los objetos de esta clase deben tener. Para ello definiremos una serie de variables:

<?php  
class Herramientas {
var $nombre="sin_nombre";
var $precio=0;
var $imagen="objetos/herramientas.gif";
var $descripcion;
}
?>

Al definir estas variables, hemos creado las propiedades que tendrán los objetos de esta clase. Si incializamos las variables, es decir si les damos un valor, la propiedad indicada tendrá ese valor por defecto, si no le damos ningún valor (como en la variable $descripción), la propiedad no tendra ningún valor por defecto.

Los objetos que creamos no tienen contenido en sí mismos, su contenido viene dado por sus propiedades y sus métodos, es por eso que incluso si queremos sacar en pantalla el nombre del objeto, éste tiene que ser definido dentro de una propiedad.

Ahora vamos a poner un poco de orden en el ejemplo que estamos utilizando, en principio todos los archivos y subcarpetas que creemos los guardaremos en una carpeta principal que llamaremos, por ejemplo Herramientas. La carpeta Herramientas la guardamos en la carpeta htdocs de Xampp, para tenerlo todo en el servidor local.

Para empezar copiamos el código anterior, tal y como está, y lo guardamos en un archivo llamado clase_herramientas.php. En este archivo iremos guardando el código php para la creación de la clase herramientas. Lo copiamos tal como está sin añadirle ningún código HTML, ya que cuando lo necesitemos será llamado a la página mediante una instrucción include().


Preparar la página de ejemplo.

Crearemos ahora la página con el código HTML que mostraremos en pantalla:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Herramientas</title> 
<?php  
include("clase_herramientas.php");
?>
</head>
<body>
<h1>Herramientas</h1>
</body>
</html>

De momento es una página normal, con la unica particularidad de que hemos incorporado el código PHP anterior mediante la instrucción include. Como queremos hacer de esta página la página principal del sitio la guardaremos con el nombre de index.php .

En la página queremos mostrar también las imágenes de los objetos que vayamos creando, por lo que para guardarlas crearemos una subcarpeta llamada objetos donde guardaremos las imágenes que necesitemos.

De momento guardaremos allí la siguiente imagen, que es la que hemos puesto por defecto en la propiedad imagen; la llamaremos herramientas.gif .

caja de herramientas

Instanciar un objeto

Se llama instanciar un objeto al hecho de crear un objeto concreto que pertenezca a una clase que ya existe. Seguimos con nuestro ejemplo, donde instanciaremos un objeto al que llamaremos $caja_herramientas. Para ello, abrimos la página index.php con el editor de textos, y después de la etiqueta <h1>Herramientas</h1>, abrimos para escribir en php: (<?php ... ?>). Pondremos aquí el código para instanciar un nuevo objeto y ver sus propiedades en pantalla.

Para instanciar el objeto usaremos el siguiente código:

$caja_herramientas = new Herramientas;

Es decir para instanciar un objeto de una clase lo definimos en una variable ($caja_herramientas) y como valor le asignamos la palabra reservada new seguido del nombre de la clase a la que va a pertenecer.


Acceso a las propiedades del objeto

ahora debemos acceder a sus propiedades, para ello lo haremos de la siguiente manera:

echo $caja_herramientas->nombre;

Esto nos mostraría en pantalla la propiedad nombre del objeto $caja_herramientas. Como no le hemos cambiado el valor a esta propiedad, lo que nos mostrará en pantalla es el valor por defecto, el cual era: "sin nombre".

Observa que la manera de acceder a una propiedad es mediante el nombre del objeto seguido de los signos ->(guión - mayor) seguido del nombre de la propiedad (sin el signo $ ).

Sin embargo lo que queremos es darle un nuevo valor a esta propiedad, esto lo haremos por asignación:

$caja_herramientas->nombre = "Caja de herramientas";

Pondremos la línea anterior en nuestra página, y añadiremos también las siguientes para cambiar los valores de otras propiedades:

$caja_herramientas->precio = 60;

$caja_herramientas->descripcion = "Caja completa de herramientas, 50 piezas calidad buena.";

Observa que la propiedad imagen no la hemos cambiado, ya que su valor por defecto es el que queremos que tenga.

Ahora queremos ver en pantalla las propiedades de este objeto, para ello escribiremos el siguiente código:

echo "<img src='$caja_herramientas->imagen' alt='$caja_herramientas->nombre' width='200' align='left'>";

echo "<p>Producto: $caja_herramientas->nombre. </p>";

echo "<p>Precio: $caja_herramientas->precio € </p>";

echo "<p>Descripción: $caja_herramientas->descripcion. </p>";

Para mostrar la imagen, de la cual hemos guardado la ruta, debemos poner en la instrucción echo el código HTML que muestre la imagen, fíjate cómo en el atributo src escribimos la propiedad donde hemos guardado la ruta.

El código de la página index.php quedará así:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Herramientas</title> 
<?php  
include("clase_herramientas.php");
?>
</head>
<body>
<h1>Herramientas</h1>
<?php  
$caja_herramientas = new Herramientas;
$caja_herramientas->nombre = "Caja de herramientas";
$caja_herramientas->precio = 60;
$caja_herramientas->descripcion ="Caja completa de herramientas, 50 piezas 
      calidad buena.";
echo "<img src='$caja_herramientas->imagen' alt='$caja_herramientas->nombre' 
      width='200' align='left'>";
echo "<p>Producto: $caja_herramientas->nombre. </p>";
echo "<p>Precio: $caja_herramientas->precio € </p>";
echo "<p>Descripción: $caja_herramientas->descripcion. </p>";
?>
</body>
</html>

Si has seguido los pasos que hemos dado hasta ahora con este ejemplo la página index.php debe quedar como en la del siguiente enlace:

Programación con objetos.





En la próxima página veremos cómo crear métodos para los objetos

Métodos en objetos.



manual de PHP

Anterior siguiente ... Siguiente siguiente


imprimir esta página

Página creada por ANYELGUTI.

Sugerencias: aprendeweb@aprende-web.net. Envia un manda un correo

Visita nuestro blog par saber en qué estamos trabajando: Aprende Web Blog

Más sobre anyelguti en http://anyelguti.16mb.com