Buscar texto en archivos con Linux

Buscar texto en archivos con Linux

Descripción:

Cuando se esta programando y no se conoce internamente el código y se topa por ejemplo con una función y no se sabe en que archivo esta definida la función es muy útil buscar dentro de los archivos las coincidencias, esto reduce considerablemente el tiempo que se gastaría si se tuviera que abrir cada archivo y realizar la búsqueda en los archivos.

Si usted tiene esta situacion y su servidor esta en un sistema operativo Linux, realice el siguiente procedimiento.

Procedimiento:

1. Abra una consola e ingrese con un usuario que tenga acceso al servidor y a la carpeta del servidor.

2. Ejecute lel comando grep -r “valor a buscar” Carpeta a buscar

Ejemplo:

Si usted desea buscar la funcionHaceAlgo() y la carpeta de su servidor Web es /usr/www/paginaWEB se debe ingresar
grep -r “funcionHaceAlgo” /usr/www/paginaWEB

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();

Presentacion en WordPress

Presentacion en WordPress

Presentacion:

Este Post esta dirigidoespecificamente a la manera como el autor de todo el Blog muestra la informacion.

Identificacion:

1. En las secciones que se especifica codigo puro se enmarca en una tabla con una sola linea con el siguiente efecto:

Aqui codigo fuente.

El codigo es el que se muestra a continuacion:

<table border="1" cellspacing="0" cellpadding="2">

<tr>

<td>

Aqui codigo fuente.

</td>

</tr>

</table>

2. Para lograra la tabulacion de los codigos y obtener codigos mas ordenados la tabulacion se reliza con el siguiente efecto:

Contenido1

Contenido2

Contenido3

El codigo es el que se muestra a continuacion:

<p style="text-indent:0;">Contenido1</p>
<p style="text-indent:1em;">Contenido2</p>
<p style="text-indent:2em;">Contenido3</p>

3. A manera de referencia, cuando se desea mostrar un caracter que es interpretado por el navegador pero lo que se desea es ver el carcater puro tenga en cuenta la siguiente tabla.

Caracter interpretado Caracter sin interpretar
&quot;
< &lt;
> &gt;
- &045;

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;

}

}

Seguir

Get every new post delivered to your Inbox.