lunes, 14 de noviembre de 2011

Cargar properties estilo java en php 2

Si probaste la clase anterior no se si te diste cuenta que tiene una limitante no se le pueden pasar parametros, T_T por lo que me di a la tarea de agregarle soporte para que se le pase un arreglo de parametros.
Php Properties version Fabrica de Software, el método getProperty soporta ahora un arreglo como segundo parametro.

$p = new Properties();
 $p->load(file_get_contents('site.properties');
$params = array('hola','mundo');
$email_from = $p->getProperty('email.from',$params);
echo $email_from;//regresa hola@mundo.com
El archivo site.properties
email.from={0}.@.{1}.com

Cargar properties estilo java en php

Bueno pues es muy fácil solo basta incluir la siguiente clase http://www.phpkode.com/scripts/item/properties/
en la clase vienen los ejemplos.

viernes, 11 de noviembre de 2011

Centrar tabla dentro de un div

Tenemeos el siguiente codigo


<div style="position:absolute;text-align:center;width:100%;">

HOLA MUNDO

</div>


Hasta aquí no hay problema todo va bien el texto se muestra centrado


Si lo metemos en una tabla


<div style="position:absolute;text-align:center;width:100%;">
<table width=200><tr><td>HOLA MUNDO
</td></tr></table>

</div>

 Se distorciona estoes mas q nada por los margenes de la tabla Solucion


<div style="position:absolute;text-align:center;width:100%;">

<table width=200 style="margin-left: auto;margin-right: auto;"><tr><td>HOLA MUNDO</td></tr></table>

</div>

martes, 8 de noviembre de 2011

Path en php con DIRECTORY_SEPARATOR

A veces cuando necesitamos leer un directorio en java en una determinada ubicación
usamos / esto es ideal pero en sistemas que tienen otro sistema operativo 
generalmente se usa \ para evitarnos este problema.
podemos utilizar DIRECTORY_SEPARATOR el cual pone el separador 
correspondiente, mas adelantillo veremos un ejemplo.

Buscando y cambiando propiedades en java ListIterator

import java.util.ArrayList;
import java.util.ListIterator;


public class Main {
    public static void main(String args[]) {
        ArrayList frutas = new ArrayList();    
        //Agregando elementos
        frutas.add("Manzana");
        frutas.add("Pera");
        frutas.add("Melon");
       
        ListIterator litr = frutas.listIterator();
        System.out.println("----Estas son mis frutas-----");
        while(litr.hasNext()) {
            Object fruta = litr.next();//este next me muevo en los objetos
            System.out.println(fruta);
        }
        System.out.println("----Cambiare Melon por Sandia---");
        litr=litr = frutas.listIterator();
        while(litr.hasNext()) {
            Object fruta = litr.next();//este next me muevo en los objetos
            if(fruta.equals("Melon"))litr.set("Sandia");
        }
       
        System.out.println("Finalmente sera la vieja del otro dia :)");
        litr=litr = frutas.listIterator();
        while(litr.hasNext()) {
            Object fruta = litr.next();//este next me muevo en los objetos
            System.out.println(fruta);
        }
    }
}

lunes, 7 de noviembre de 2011

Variables al vuelo en php

Este codigito me lo paso mi compa oscar de oax. mil gracias.
for($i = 10;$i > 0 ;$i--){
//primero creamos el nombre dinamico de la variable
$nombre = "variable".$i;
//luego cualquier contenido como este
$contenido = "soy el contenido Nro $i";
//luego generamos la variable
$$nombre = $contenido
}

echo $variable1; //mostraria "soy el contenido Nro 1"
echo $variable2; //mostraria "soy el contenido Nro 2"
echo $variable3; //mostraria "soy el contenido Nro 3"
?>

Diferencia entre == y === php

$variable=0;
if($variable==0)echo "== es 0
";
if($variable==false)echo "== es false
";
if($variable===0)echo "=== es 0
";
if($variable===false)echo "=== es false";//No entra aqui
?>
como vemos el siguiente codigo imprime lo siguiente:

== es 0
== es false
=== es 0 

 Como vemos no entra en el ultimo porque lo que hace === es comparar los valores y el tipo de dato(int, string)

domingo, 6 de noviembre de 2011

Subversion para documentos Office

Pues en uno de mis antiguos trabajos alguna vez note que uno de mis jefes tenía muchas versiones de un solo documento muchas veces organizado por proyectos y estados, pudiendo tener un solo documento con un historial de versiones en un repositorio SVN, me dí a la tarea de verificar si exisitía alguna herramienta y bueno para eso existe magnetsvn lo mejor es que permite integración directamente con office.

viernes, 4 de noviembre de 2011

Xdebug, debugueando con, XAMPP, WAMP PHP con Eclipse

1. Debemos contar con la última version xampp o wamp y asegurarnos que cuente con la extension xdebug.
2. Buscar el archivo php.ini si es wamp este archivo se encuentra en C:\wamp\bin\apache\Apache2.2.17\bin
si es xampp en este archivo se encuentra en la raíz C:\xammp.
3. Si es WAMP Modificamos el archivo en la seccion [xdebug]
debe quedar de esta forma
zend_extension = "c:/wamp/bin/php/php5.3.5/zend_ext/php_xdebug-2.1.0-5.3-vc6.dll"

[xdebug]
xdebug.remote_enable=1
xdebug.remote_host="127.0.0.1"
xdebug.remote_port=9000
xdebug.remote_handler="dbgp"
xdebug.remote_mode=req
xdebug.profiler_enable = 1
xdebug.profiler_output_dir = "c:/wamp/tmp"
Si es XAMPP debemos de descomentar las comillas y agregar los parametros de arriba.
4 Configuramos Eclipse para Xdebug en la seccion de Debug.
5 Reiniciamos Apache y podemos probar agregando un punto de interrupcion y haciendo clic sobre el insecto.

Plugin expresiones regulares y conversiones de caracteres eclipse

Siguiendo con los plugins les traigo otros 2 muy utilies plugins.

Para testear expresiones regulares

Update site: http://regex-util.sourceforge.net/update/

Para conversiones ejemplo de notación   Camel <-> Underscores Edit y capitalizacion

Update site: http://andrei.gmxhome.de/eclipse/

Cambiando los temas de eclipse

Bueno pues encontre esta página en la cual vienen muuuuchos temas para que configuren su eclipse a su gusto, http://www.eclipsecolorthemes.org/. Creo que la programación no debe de estar peleada con el diseño.