Recuperar todas las variables definidas en PHP

Recuperar todas las variables definidas en PHP

Descripcion:

Hoy presento la manera d erecuperar todas las variables que se defienen por PHP, esto se hace por emdio de una funcion.

Funcion:

get_defined_vars(): Devuelve un array multidimencional con todas las variables definidas.

array_keys(get_defined_vars()): Si combina esta fucnion con la funcion array_keys, tendra solo los nombre de los indices de las variables, con esto ferificara si una variable ya esta definida.

Manejo de indices de los vector con PHP

Manejo de indices de los vector con PHP

Presentacion:

Cuando se husan vectores en PHP es muy comun que los indices sean los vectores es decir si tengo un vector $a = array(a,b,c). Los contenidos el vector son $a[0] = a $a[1] = b $a[2] = c y los indices del vector son 0,1,2.

En ocasiones esat situacion no se presenta asi y un vecotr uede ser $a['nombre1'] = a; $a['nombre2'] = b; $a['nombre3'] = c; En este caso es necesario usar funciones propias de vectores para conocer el nombre de los inidces, esas funciones son:

reset = LLeba el puntero al principio del vector.

reset($a);

next = Mueve el puntero a la siguiente posiscion. Si se ha llegado al final del vector esta funcion devuelve false.

next($a);

key = Recupera el nombre del indice donde el puntero esta ubicado.

key($a);

end = LLeva el punteor a la ultima posicion del vector.

end($a);

Con el adecuado uso de estas funciones usted podria facilmnete manipular un vector con indices extraños.

Uso de Fire PHP

Uso de Fire PHP

Presentacion:

Un dia navegando por Google me encontre cin fire PHP, es un compelto para Firefox que funciona con FireBug el cual es otro complemento genial de Firefox que se husa para debug.

¿Pero que hace puntualmente FirePHP?, por lo general para encontrar errores o saber el contenido de una variable se hace la impresiond e esta variable dentro de la pagina HTML ya sea con echo, print_r o cualquier otra instruccion que usted maneje, FirePHP realiza este mismo efecto pero enviando elc ontenido a la consola de FireBug sin afectar el contenido HTML.

Prerequisitos:

1. Tener instalado Mozilla Firefox.

2. Tener instalado el complementeo de fireBug.

3. Instalar el completo de FirePHP.

4. Para que las paginmas que usted programa puedan acceder  alas utilidades de firePHP su servidor debe tener los codigos de FirePHP, los cuales puede descargar desde ñla pagina http://www.firephp.org/HQ/Install.htm descargando el CORE.

5. Descomprima el archivo descargado ha una carpeta accesible dese el servidor WEB.

Uso de FirePHP

1. En la pagina PHP que usted esta desarrollando incluya la libreria

require_once(_LIBRERIA_RELATIVA.’FirePHPCore-0.3.1/lib/FirePHPCore/FirePHP.class.php’);

2. Inicialize las salidas

ob_start();

3. Defina el objeto de FirePHP

$firephp = FirePHP::getInstance(true);

4. Use el objeto haciendo que imprima contenido dnetro de FireBug.

$firephp->log($variable, “Contenido de mi variable.”);

Recuperar todos los metodos de una clase en php

Recuperar todos los metodos de una clase en php

Introduccion:

En mas de una ocasion em ehe encontrado en el dilema de saber cuales son los metodos que estan definidos en una clase con PHP. Este POST le indicara la instruccion que soliciona este inconveniente.

Solucion:

1. En su codigo PHP use la funcion get_class_methods()

$apoyo = new apoyo();

get_class_methods($apoyo)

Composicion de clases en PHP

Composicion de clases en PHP

Presentacion:

Al hacer Programacion Orientada a Objetos desde PHP, se presenta la situacion en la que por alguna razon se requiere tener acceso a una propiedad de una clase desde otra clase, esta situacion se define con el nombre de Composicion y la forma de hacerlo con PHP se muestra a continuacion.

Ejemplo real:

Se presenta la situacion en la que se tiene una clase estudiante en la que las propiedades son, nombre, apellidos y sexo, se tiene otra clase denominada nutricion con la propiedad tituloY2, en esta clase la propiedad de la edad de la clase estudiante es vital, por tal situacion es necesario tener acceso a la propiedad sexo de  la clase estudiante, esta situacion se resuelve como se ve a continuacion.

Para crear la relacion de composicion se debe tenee claro en primer lugar la forma como las clases se deben relacionar, en este caso la clase que necesita la propiedad de sexo es la de nutricion y la clase que tiene la propiedad de sexo es la de estudiante, la clase que debe codificar es la clase de nutricion, entonces las clases deben codificarse asi:

Codificacion:

1. Clase estudiante

class persona

{

var $nombres;

var $apellidos;

var $sexo;

function setNombre($nombres)

{

$this->nombres = $nombres;

}

function getNombre()

{

return($this->nombres);

}

function setApellido($apellidos)

{

$this->apellidos = $apellidos;

}

function getApellido()

{

return($this->apellidos);

}

function setSexo($sexo)

{

$this->sexo = $sexo;

}

function getSexo()

{

return($this->sexo);

}

}

2. Clase nutricion.

class nutricion

{

var $tituloY2;

var $persona;

function setTituloY2 ($titulos)

{

$this->tituloY2 = $titulos;

}

function getTituloY2 ()

{

return($this->tituloY2);

}

function setPersona($persona)

{

$this->persona = $persona;

}

function getPersona()

{

return($this->persona);

}

}

Formas de acceso:

Una vez teniendo las clases definidas de manera correcta se presenta basicamente dos formas de realizar el acceso.

1. Declaracion de clases diferentes.

$estudiante = new persona(); //Definicion de una persona como estudiante

$grafico1 = new nutricion(); //Se define un grafico de nutricion

$grafico1->setPersona($estudiante); //Se define el objeto estudiante en una propiedad de la clase

$estudiante->setSexo(‘F’); //Se define el sexo del estidiante desde la clase estudiante

echo $estudiante->getSexo(); //Se obtiene el sexo del estudiante desde el objeto estudiante

echo "<br>";

echo $grafico1->persona->getSexo();

Validar valor booleano con php

Validar valor booleano con php

descrpcion

Si se quiere verificar el valor de un booleano realizando una transformacion y consultar con valores como 1 para true y 0 para false use el sugueinte procedmiento.

filter_var($_GET['par3'],FILTER_VALIDATE_BOOLEAN);

Simular llamados por metodo POST

Simular llamados por metodo POST

Descripcion:

Cuando se esta programando en diferentes servidores y se desea de alguna forma empatar o unir dos sitemas para realizar seguimientos en sistemas distintos, los desarrolladores crean paginas que envian peticiones por metodos de una pagina a otra, en el caso que aqui se documenta se desea enviar desde una pagina una serie de parametros a uan segunda pagina sin que la segunda pagina sea mostrada en el navegador.

Codigo:

<?php
function fsockPost($data)
{
$postdata = ”;
foreach($data as $i=>$v)
{
$postdata.= $i . “=” . urlencode($v) . “&”;
}
$fp=@fsockopen(‘localhost’,80,$errnum,$errstr,30);
//Error checking
if(!$fp)
{
echo $errnum.”: “.$errstr;
}
//Post Data
else {
fputs($fp, “POST “.’/pruebas/simulaGET/mail.php’.” HTTP/1.1\r\n”);
fputs($fp, “Host: localhost\r\n”);
fputs($fp, “Content-type: application/x-www-form-urlencoded\r\n”);
fputs($fp, “Content-length: “.strlen($postdata).”\r\n”);
fputs($fp, “Connection: close\r\n\r\n”);
fputs($fp, $postdata . “\r\n\r\n”);
while(!feof($fp))
{
$info[]=@fgets($fp, 1024);
}
fclose($fp);
$info=implode(“,”,$info);
}
return $info;
}
$data2=array(“nombre”=>”andres”,”fono”=>”46120828″);
//echo fsockPost($data2);
fsockPost($data2);
echo “<br>Se supone que ya se hizo el llamado”;
?>

<?phpfunction fsockPost($data) {  $postdata = ”; foreach($data as $i=>$v)  {  $postdata.= $i . “=” . urlencode($v) . “&”;  } $fp=@fsockopen(‘localhost’,80,$errnum,$errstr,30);  //Error checking if(!$fp)  {  echo $errnum.”: “.$errstr;  }  //Post Data else {  fputs($fp, “POST “.’/pruebas/simulaGET/mail.php’.” HTTP/1.1\r\n”);    fputs($fp, “Host: localhost\r\n”);    fputs($fp, “Content-type: application/x-www-form-urlencoded\r\n”);    fputs($fp, “Content-length: “.strlen($postdata).”\r\n”);    fputs($fp, “Connection: close\r\n\r\n”);    fputs($fp, $postdata . “\r\n\r\n”);  while(!feof($fp))  {  $info[]=@fgets($fp, 1024);  }  fclose($fp);  $info=implode(“,”,$info);  } return $info; }
$data2=array(“nombre”=>”andres”,”fono”=>”46120828″);//echo fsockPost($data2);fsockPost($data2);echo “<br>Se supone que ya se hizo el llamado”;?>

POO con php

POO con php

Introduccion:

Al igual que varios lenguajes orientados a objetos, desde la version de PHP 5.0 tambien soporta este tipo de programacion. Este manual muestra la forma de aplicar esta metodologia en paginas construidas con lenguaje de programacion PHP.

Descripcion:

La base de la programacion orientada a objetos son las clases, una clase se representa basicamente con tres secciones, la primera de ella indica el nombre de la calse, la segunda muestra las propiedadesy la tercera tiene los metodos, las propiedades de la clase se interpretan como los datos que maneja la clase y los metodos se deben interpretar como la seccion operativa de la clase o dicho de otra forma lo que la clase, esta en capcidad de realizar.

Clase = [Nombre],[Propiedades],[Metodos];

Aplicacion clase sencillo:

1. Definir la clase con sus propiedades y funcionalidades.

class nombreClase

{

var $variable1;

function setVariable1($variable)

{

$this->variable1 = $variable;

}

funtion getVariable1 ()

{

return($this->variable1);

}

}

2. Instancie un objeto

$objeto = new nombreClase();

3. Use el objeto

$objeto->;setVariable1 = (‘valorVariable’);

Aplicaicon extension de clase:

Cuando se requiera hacer una extension de una clase e puede realizar de la siguiente manera:

1. Defina la nueva clase de la siguiente forma.

class claseExtendida extends nombreClase

{

var $duenyo;

function setDuenyo ($nombre)

{

$this->duenyo = $nombre;

}

function getDuenyo ()

{

return($this->duenyo);

}

}

Constructores:

Los constructores se encargan de resumir las acciones de inicialización de los objetos. Cuando se instancia un objeto, se tienen que realizar varios pasos en su inicialización, por ejemplo dar valores a sus atributos y eso es de lo que se encarga el constructor. Los constructores pueden recibir unos datos para inicializar los objetos como se desee en cada caso.

1. Defina la clase de la siguiente forma.

class nombre clase

{

var $tituloX1;

function __construct()

{

$this->tituloX1= 216;

}

}

Mostrar errores en script php sin modificar php.ini

Mostrar errores en script php sin modificar php.ini

Descripcion.

El procedimiento que se documenta a continuacion es util si el servidor de php en su cinfiguracion del php.ini tiene los errores deshabilitados y usted desea ver los errores.

La forma menos indicada para visualizar errores es seimpre editando el archivo de configuracion del php.ini, haciendo el cambio, rguardando los cambios y reiniciando el servicio, este manual le inidca la manera de realizar este procedimiento en el codigo fuente.

Prerrequisitos:

Esta configuracion se debe ingresar dentro del archivo del codigo fuente que usted esta desarrollando y no es necesario editar archivos de configuracion.

Procedimiento:

En el punto que usted requiera ver un error, ingrese las siguientes lineas.

ini_set(’error_reporting’, E_ALL);

ini_set(’display_errors’, ‘On’);

Procedimientos permitidos por libreria FPDF

Procedimientos permitidos por libreria FPDF

Presentacion:

En este manual se documenta la forma correcta de guardar un archivo pdf generado dinamicamente por la libreria FPDF con dos acciones diferentes pero que cumplen la misma libreria permite.

Puntualmente se desea que el pdf se envie al navegador haciendo uso del Pluguin de adobe PDF y que el archivo se almacene en alguna carpeta del servidor.

Pre rrequisitos:

1. Se entiende que usted ya tiene todod el codigo necesario para generar este documento

Procedimiento:

1. PAra el caso de guardar el archivo PDF en una carpeta del servidor usted debe utilzar la instruccion Output indicacndo como parametros la ruta y el nombre donde almacenara el archivo y la modalidad ‘F’.

$pdf->Output(‘rutadelArchivo/nombre.pdf’,'F’);

2. Para mostrar el archivo generado en el navegador use la salida Output sin parametros:

$pdf->Output();

3. Para genenerar las dos salidas de forma consecutiva usted debe poner las instrucciones en esta secuencia:

$pdf->Output(‘rutadelArchivo/nombre.pdf’,'F’);

$pdf->Output();

Seguir

Get every new post delivered to your Inbox.