3.283 cursos gratis
6.262.191 alumnos
Publica tu curso gratis
Busca cursos gratis:
Estás aquí: mailxmail > Cursos de Informática > Programación > Webs dinámicas con PHP > Programar páginas PHP

Webs dinámicas con PHP

Autor: Álvaro del Castillo
Curso:  4,27/5 4,27/5 (119 opiniones) |11497 alumnos|Fecha publicación: 10/09/2004

Capítulo 3:

 Programar páginas PHP

Lo primero que vamos a hacer es crear una página PHP que nos informe de las características del interprete de PHP que tenemos instalado en nuestro servidor de web. Para ello debemos de crear una página PHP con el contenido siguiente:

<? phpInfo(); ?>

Este debe de ser el contenido de un fichero de nombre "info.php" y que debe de estar en algún lugar accesible por el servidor de web. Quizás lo mejor sea que lo guardes dentro de tú directorio personal web: "/home/tu_login/public_html". Por ejemplo yo lo tengo dentro del directorio "/home/acs/public_html/info.php". Una vez que lo tengas guardado vamos a intentar abrir esta página. Para ello apunta tú navegador a la página: "http://localhost/~tu_login/info.php". En mi caso dicha página es: "http://localhost/~acs/info.php". El resultado que debes de obtener debe de ser algo similar al de la siguiente figura número 1.

Programar páginas PHP


Al pedirle esta página al servidor de web, este al ver su extensión llama al interprete de PHP y le dice que "ejecute" la página y le entregue los resultados. El interprete abre la página y ejecuta la llamada a la función "phpInfo()" que, como resultado, nos entrega toda la información sobre el interprete de PHP en formato HTML. ¿Verdad que es sencillo?.

Vamos con una página algo más complicada. Y vamos con la orientación a objetos. PHP tiene soporte para la programación orientada a objetos, es decir, puedes crear clases para la construcción de objetos, con sus constructores etc. El soporte de objetos que tenemos en PHP no es tan potente como el de C++, pero cada vez es más completo y en esta versión nueva de PHP4 este soporte ha sido mejorado.

Si no sabes programar utilizando objetos en este curso algo vas a aprender pero te recomiendo que sin más dilación consigas algún buen libro o tutorial por Internet. Los objetos cada vez tienen más fuerza a la hora de desarrollar software. De cualquier forma en este curso vamos a utilizar la programación con objetos en un nivel muy básico.

En nuestro siguiente ejemplo vamos a crear un objeto que nos va a permitir acceder a diversas bases de datos. Claro está que lo vamos a dejar sin implementar aún en gran parte, pero todo llegará. Aquí va el código de la página:

<?php
class connection {
    var $dbug=1, $con, $type;

    function getType() {global $type;return $this->type;}

    // Constructor del objeto de conexión a la base de datos
    function connection($typedb="MySQL",$database_name="template1") {
        $this->connection_open ($typedb,$database_name);
    }

    // Apertura de la conexión con la base de datos
    function connection_open ($typedb,$database_name) {
        $this->$type=$typedb;
        if ($type=="PostgreSQL") $this->$con=new postgresql_connection;
        elseif ($type=="MySQL") $this->$con=new mysql_connection;
        else {error_message("Open:Unkown database type");exit;}
        $this->$con->connection_open($database_name);
    }
}

class mysql_connection {
    function mysql_connection() {
        echo "<h1>La clase mysql_connection aún no está implementada.<h1>";
    }
    function connection_open($database_name) {
        echo "<h1>Método connection_open sin implementar.<h1>";
    }
}

$bd = new connection("MySQL","template1");
?>


Si el lector está acostumbrado a la programación con objetos este código le resultará muy familiar. Tenemos una clase principal "connection" que se encarga de gestionar las conexiones con la base de datos. Cuando desde nuestro programa queramos acceder a una base de datos, nos creamos un objeto connection pasándole como parámetros al constructor de connection, método que se llama de forma automática al crear el objeto, el tipo de base de datos al que queremos acceder y el nombre de la base de datos concreta con la que queremos trabajar.

Este objeto delega en los objetos específicos de cada base de datos, el del gestor de base de datos MySQL es "mysql_connection", la apertura de una conexión, las peticiones SQL etc. Esta técnica de utilizar objetos que delegan el trabajo final en otros es muy utilizada en lenguajes que carecen de herencia, mecanismo por el que una clase hereda toda la información de estado y métodos de la clase de a que hereda. PHP3 en sus primeras versiones no tenía soporte para herencia por lo que me vi obligado a utilizar esta técnica. En la actualidad PHP ya soporta herencia, aunque no múltiple. Y no, todas las reglas de encapsulación pública y privada no están implementadas. Y hay que tener cuidado con algo que nos puede dar muchos quebraderos de cabeza: al crear un objeto de una clase B que hereda de una clase A, se llama de forma automática al constructor de la clase B pero no al de su padre, la clase A.

Sobre la sintaxis de PHP, es muy similar a la de C o C++. Quizás lo más destacado ocurre a nivel semántico: el tipado es muy poco estricto, algo típico en los lenguajes "script", y cuando creamos una variable en ella podemos meter el tipo de datos que queramos. Esto es muy flexible y cómodo para el desarrollador, aunque los errores que se cometen pueden ser mucho más graves y difíciles de corregir. Las posibilidades del interprete para detectar incompatibilidades entre variables se reducen mucho y puede ocurrir cosas extrañas en determinadas circunstancias si no tenemos cuidado.

Sobre el código de este ejemplo en concreto, tenemos dos clases. La definición de una clase es hace con la palabra clave "class" seguida del nombre de la clase. Entre llaves desarrollamos toda la descripción de la clase, sus variables y métodos. Dentro de un método de la clase (function) se pueden acceder otras partes de la clase por medio del puntero "$this". Por ejemplo, para acceder desde el método "connection_open" a la variable de la clase "$type" lo hacemos con "$this->$type".

Si guardamos esta clase en un fichero, por ejemplo "ejemploDB.php", cuando accedamos a este fichero a través del servidor de web, este llamará de nuevo al interprete de PHP al ver que la extensión del fichero es "php". El interprete de PHP analizará el código y ejecutará la instrucción ":

$bd = new connection("MySQL","template1");

Con ello se crearía un nuevo objeto de la clase "connection". Al crearse se llama de forma automática al constructor "function connection" que a su vez llama al método "connection_open". Este método crea un nuevo objeto de la clase "mysql_connection" ($con) el cual llama de forma automática a su constructor "function mysql_connection" el cual envía la cadena HTML "<h1>La clase mysql_connection aún no está implementada.<h1>". Desde el método "connection_open" de "connection" se llama a "connection_open" del objeto "$con", que es de la clase mysql_connection, lo que provoca que se imprima otra cadena HTML: "<h1>Método connection_open sin implementar.<h1>.". Tras esta última invocación el programa finaliza y se envía el resultado al servidor de web, el cual reenvía estos datos al cliente. En la figura 2 podemos ver el resultado de dicha ejecución.

Programar páginas PHP
 

Capítulo siguiente - Más características de PHP
Capítulo anterior - Instalación de PHP
Recibe nuestras novedades
Al presionar "Recibir" estás dándote de alta y aceptas las condiciones legales de mailxmail

Hay 119 opiniones. Opina sobre este curso.


Cursos similares a Webs dinámicas con PHP


Cursos Valoración Alumnos Vídeo
Mozilla
Una de las funciones más utilizadas en internet es la navegación por las miles de páginas con información y recursos. Para poder acceder a toda esta información se buscan... [26/03/04]
 4,31/5 4.116  
Introducción a las comunicaciones por satélite
A partir del lanzamiento del primer satélite ruso SPUTNIK en 1957, los mercados corporativos han visto a la comunicación vía satelital como una gran oportunidad de mejora... [27/09/06]
5/5 1.884  
Google AdWords. Atraer clientes con marketing online
Atraer al cliente tiene, en el marketing online y a google como su más poderosa herramienta, las mejores posibilidades para una empresa. Las empresas, ca... [31/07/09]
 1,50/5 535
Curso con video
Curso con video


Publicar en   del.icio.us    digg    meneame

¿Qué es mailxmail.com?|ISSN: 1699-4914|Recomiéndanos|Ayuda
Condiciones legales de mailxmail