Usar clases en php4

Hola: como puedo utilizar clases en php4, sus funciones que reciban parámetros tipo array y como hago para llamar a esa clases y para recibir en una variable el valor de retorno de esa función, me podrías enviar un ejemplo

1 respuesta

Respuesta
1
Las clases pertenecen a la Programación Orientada a Objetos. PHP no es un lenguaje orientad a objeto, pero implementa las características que permiten definir las clases.
Como ejemplo te envío la clase mysql, que sirve 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 habrás notado, para crear una clase utilicé la sentencia class, y además una función con el mismo nombre que la clase, el constructor.
Otra cosa importante en las clases es el operador ->, para indicar una variable o método de una clase. Para hacer
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.
Ahora supongamos que el código anterior lo hemos guardado en un fichero llamado clase_mysql. Inc.php, un ejemplo de uso de nuestra clase sería el siguiente:
<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>

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas