Hosting de Calidad
  • Inicio
  • Precios y servicios
  • F.a.q y ayudas
  • Realizar pedido
  • Webs alojadas
  • Quienes somos
  • Foro HyD
  • Contacto

    Zona Dominios

    Entrar
    registro de dominios


    Zona Hosting

    Entrar
    alojamiento web


    5 Métodos de Pago
    Tarjeta de crédito
    Domiciliación
    Transferencia
    Soporte Epagado
    Soporte Paypal

    Liberalización .es

    Ver mas
    dominios .es


  •  
     
     
    Tutorial de PHP y MySQL: Las Clases en PHP

    Las clases


    Las Clases son máximo exponente de la Programación Orientada a Objetos (POO). PHP no es un lenguaje orientad a objeto, pero implementa las características que permiten definir las clases.

    Pero, ¿qué son las Clases y para que sirven?, empecemos por los segundo, sirven hacer el código más legible, y lo que es más importante, reutilizable. Escribir una Clase es sin duda más largo que escribir el código directamente, pero a la larga es más rentable por su portabilidad a otras aplicaciones y su mantenimiento.

    Las Clases no son más que una serie de variables y funciones que describen y actúan sobre algo. Por ejemplo, vamos a crear la clase automóvil, la cual tendrá diversas variables, $color, $modelo, $marca, $potencia, $matricula y habrá una serie de funciones que actuarán sobre la clase automóvil como Precio(), Acelerar(), Frenar(), Girar()y Reparar().

    Como ejemplo vamos a crear la clase mysql, que nos servirá para realizar consultas a las bases de datos MySQL.

    <?php

    class DB_mysql {

     

    /* variables de conexión */

    var $BaseDatos;

    var $Servidor;

    var $Usuario;

    var $Clave;

     

    /* identificador de conexión y consulta */

    var $Conexion_ID = 0;

    var $Consulta_ID = 0;

     

    /* número de error y texto error */

    var $Errno = 0;

    var $Error = "";

     

     

    /* Método Constructor: Cada vez que creemos una variable

    de esta clase, se ejecutará esta función */

    function DB_mysql($bd = "", $host = "localhost", $user = "nobody", $pass = "") {

    $this->BaseDatos = $bd;

    $this->Servidor = $host;

    $this->Usuario = $user;

    $this->Clave = $pass;

    }

     

    /*Conexión a la base de datos*/

    function conectar($bd, $host, $user, $pass){

     

    if ($bd != "") $this->BaseDatos = $bd;

    if ($host != "") $this->Servidor = $host;

    if ($user != "") $this->Usuario = $user;

    if ($pass != "") $this->Clave = $pass;

     

    // Conectamos al servidor

    $this->Conexion_ID = mysql_connect($this->Servidor, $this->Usuario, $this->Clave);

    if (!$this->Conexion_ID) {

    $this->Error = "Ha fallado la conexión.";

    return 0;

    }

     

    //seleccionamos la base de datos

    if (!@mysql_select_db($this->BaseDatos, $this->Conexion_ID)) {

    $this->Error = "Imposible abrir ".$this->BaseDatos ;

    return 0;

    }

     

    /* Si hemos tenido éxito conectando devuelve 

    el identificador de la conexión, sino devuelve 0 */

    return $this->Conexion_ID;

    }

     

    /* Ejecuta un consulta */

    function consulta($sql = ""){

     

    if ($sql == "") {

    $this->Error = "No ha especificado una consulta SQL";

    return 0;

    }

     

    //ejecutamos la consulta

    $this->Consulta_ID = @mysql_query($sql, $this->Conexion_ID);

     

    if (!$this->Consulta_ID) {

    $this->Errno = mysql_errno();

    $this->Error = mysql_error();

    }

    /* Si hemos tenido éxito en la consulta devuelve 

    el identificador de la conexión, sino devuelve 0 */

    return $this->Consulta_ID;

    }

     

    /* Devuelve el número de campos de una consulta */

    function numcampos() {

    return mysql_num_fields($this->Consulta_ID);

    }

     

    /* Devuelve el número de registros de una consulta */

    function numregistros(){

    return mysql_num_rows($this->Consulta_ID);

    }

     

    /* Devuelve el nombre de un campo de una consulta */

    function nombrecampo($numcampo) {

    return mysql_field_name($this->Consulta_ID, $numcampo);

    }

     

    /* Muestra los datos de una consulta */

    function verconsulta() {

     

    echo "<table border=1>\n";

     

    // mostramos los nombres de los campos

    for ($i = 0; $i < $this->numcampos(); $i++){

    echo "<td><b>".$this->nombrecampo($i)."</b></td>\n";

    }

    echo "</tr>\n";

    // mostrarmos los registros

     

    while ($row = mysql_fetch_row($this->Consulta_ID)) {

    echo "<tr> \n";

    for ($i = 0; $i < $this->numcampos(); $i++){

    echo "<td>".$row[$i]."</td>\n";

    }

    echo "</tr>\n";

    }

     

    }

     

     

    } //fin de la Clse DB_mysql

    ?>

    Como habreis observado, para crear una clase utilizamos la sentencia class, y además hemos creado una función con el mismo nombre que la clase, a esa función se le llama constructor y se ejecutará cada vez que definamos una variable de esa clase. No es obligatorio crear un constructor en una definición de clase. 

    Otra cosa importante en las clases es el operador ->, con el que indicamos una variable o método (parte derecha del operador) de una clase (parte izquierda del operador). Para hacer referencia a la clase que estamos creando dentro de su definición, debemos utilizar this.

    Y ahora veamos un ejemplo de la clase que hemos creado, y supongamos que el código anterior lo hemos guardado en un fichero llamado clase_mysql.inc.php.

    <body>

    <html>

    <?php

    require ("clase_mysql.inc.php");

    $miconexion = new DB_mysql ;

    $miconexion->conectar("mydb", "localhost", "nobody", "");

    $miconexion->consulta("SELECT * FROM agenda");

    $miconexion->verconsulta();

    ?>

    </body>

    </html>

     

    ©José Antonio Rodríguez 2000.

     
       



    registro de dominios | alojamiento web | hosting por publicidad

       

     

    Manual de linux Manual de apache Manual de php Manual de mysql Manual de SQL Manual del Plesk Como funciona Paypal Manual de html