Idioma del cliente

Posted: Februar 27th, 2009 | Author: | Filed under: PHP | 2 Comments »

Pues estaba haciendo un trabajito por ahí y tenía que sacar el idioma del cliente. Lo más fácil sería preguntarle a el hahaha, pero lamentablemente no es viable. Así que la siguiente aproximación fue usar algún sistema por medio de ip’s. Pero era mucho rollo, así que lo más fácil era sacar el lenguaje del cliente a través de la variable $_SERVER. He aquí el Script (no es difícil, pero seguramente algún dia se lo preguntaron o preguntarán yo sé).

1
2
3
4
5
6
7
list(, , , $Idioma) = explode("; ", $_SERVER['HTTP_USER_AGENT']);
    $Idioma = substr($Idioma, 0, 2);

if(file_exists('Idiomas/Idioma_'.$Idioma.'.php'))
    require_once('Idiomas/Idioma_'.$Idioma.'.php');
else
    require_once('Idiomas/Idioma_es.php');

¿Qué sencilla es la vida no? Espero algún dia les sirva

Saludos

—-Edit—-

Naturalmente no todo funciona como debe. Resulta que hacia unas pruebas, y Firefox si funciona como tal, obviamente explorer no. Así que lo más sencillo fué otra aproximación similar:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//Leerá las variables que recibe del cliente y la guarda como un array separado
//por el delimitador coma
$Idiomas = explode(",", $_SERVER['HTTP_ACCEPT_LANGUAGE']);

//Para cada elemento $Idioma del arreglo $Idiomas
foreach($Idiomas as $Idioma){
    //Corta todo y deja solo las dos primeros caracteres
    $Idioma = substr($Idioma, 0, 2);

    //Checa si el idioma existe, de ser así sale, sino sigue leyendo
    if(file_exists('Idiomas/Idioma_'.$Idioma.'.php'))
        break;
}

//Si salió del foreach es porque terminó o encontró una concordancia. Pude haber
//puesto una flag, pero de todos modos necesitaba un if, así que mejor lo dejé así
if(file_exists('Idiomas/Idioma_'.$Idioma.'.php'))
    require_once('Idiomas/Idioma_'.$Idioma.'.php');
else
    require_once('Idiomas/Idioma_es.php');

Ruby on Rails vs CakePHP

Posted: Februar 23rd, 2009 | Author: | Filed under: PHP | Tags: , , , | No Comments »

Últimamente he leído un par de Blogs por ahí que tenía en cola de espera (ustedes saben, el trabajo y la escuela [hahahahaha como no] me consumen, entonces no siempre hay tiempo [hahahahaha como no]). El punto es que leía sobre gente que se dedica al negocio de la programación como trabajo y no hobby de Project Euler como yo y me di cuenta de un par de cosas interesantes.

¡Que naco soy! Sí, así como se escucha :) Digo, no es que sea una novedad, pero me refiero a que tienen otra perspectiva de las cosas (obvio). Y pues uno de los puntos a tocar es el hecho de usar “Code-Generator”.

Cuando empecé con esto de las páginas web me tardé un poquito en encontrar PHP-OOP, sí yo sé, que chafa soy. Entonces fue cuando junto a la cabrita monteza empezamos a hacer Ants y decidí usar OOP para ello. ¿Cuál era la finalidad? Simplificar problemas y codigo. Hoy en día se llaman Frameworks. Y hay varias como CakePHP, Symphony, Ruby On Rails (RoR), etc. Unas para java, otras para ruby, otras para python, etc.

Y entonces entre tanta información me quedé pensando (difícil lo sé), ya decidí que por el momento me dedicaré a C#, cuando más o menos le mueva bien, continuaré con ASP.Net, pero eso es en el terreno de programación Desktop, pero ¿y en cuanto a Web?. Pues yo sé PHP, medio se picarle a Ruby, pero definitivamente RoR no sé, pero si parto de la base que CakePHP tampoco, entonces estamos a mano hehehe.

He oído cosas maravillosas de RoR, pero los Screencasts (SC) de CakePHP se ven mejores. O sea, los SC de RoR te dicen “Tu blog en 15 min” o sea sí, en 15 min seguro… Pero la mitad del código que escribe es copy+paste. Si yo me pongo a escribir el código y hago una presentación donde nada mas copio y pego el código, hasta 10 min me tardo :P En cambio el SC de CakePHP se ve mas decente, se tarda como 30 min pero escribe cada una de las líneas de código.

Yo sé que tanto RoR como CakePHP no son nuevos, desde hace mucho están ahí fuera. Pero antes de siquiera mirar CakePHP entré a RoR cuando salió, que RoR era woao la onda… La ______ parada (sí, suena feo, pero así fué cuando salió, de hecho no se bien pero creo que RoR fue el primero en su concepto). Pero lamentablemente el SC de RoR y crea tu blog me asustó, simplemente no entendí tanta jalada, comprendí la facilidad pero no el funcionamiento. Ahora que ví CakePHP creo que encontré algo bonito que podría intentar usar. Lo probaré, seguiré viendo que onda con RoR, etc.

Que lo bonito de esto, es que no todos los WebHosting ofrecen Ruby… Pues el mio es tan lindo que ofrece ya todo el servicio completo de RoR :O Que bello… Por eso adoro mi Hosting… Por cierto es http://www.hostgator.com baratón :)

Saludos


IDE: ¿Aptana, Eclipse o Ambos?

Posted: Januar 8th, 2009 | Author: | Filed under: AJAX, PHP, XHTML | Tags: , , , , , , , , , , , , | No Comments »

Después de decidir la librería que usaría el siguiente paso era: ¿Qué IDE usar?.

Una IDE (Integrated Development Evironment) es tan sólo una aplicación que integra todo lo necesario para desarrollar el programa en el lenguaje que soporta la IDE. Por ejemplo Visual Studio es una IDE para Visual Basic, Visual .NET, etc. Eclipse y Aptana son también IDE’s.

En realidad fué fácil. Hace mucho tiempo cuando empezó esto de las páginas, utilizaba Frontpage. Recuerdo como para dejar un espacio entre elementos llenaba todo de   hehehe, ¡Ay no…! Que cómico es Guillermo Puertas. Que por cierto, hace poco ayude a una prima con su página, donde el profesor los hizo “programarla” en ¡¡¡Frontpage!!!, ¡Que asco de profesor!.

Después vino el boom de Dreamweaver. En aquél entonces aún pertenecia a Macromedia, al igual que Flash, Freehand, etc, ahora Macromedia fué absorbida por Adobe. Sí, el mismo que hace el Adobe Reader, Photoshop, InDesign, etc. Que en su época fué bueno. Ahorita es usado más que nada por los Templates (hoy en día ¿Quién puede programar en Design Mode con Ajax y PHP?).

Y así terminó para mí el mundo del WYSIWYG (What You See Is What You Get -- Lo que ves es lo que obtienes). Entonces comencé a usar Weaverslave. En lo personal me fascina, es de los mejores editores que he usado, excepto por un pequeño problema, bueno de hecho dos.

  1. No se ha actualizado desde 2005
  2. Por el punto uno, no tiene completación (ni HTML ni PHP)
  3. No tiene soporte FTP

Si tan sólo corrigieran el punto dos (ya que si corrigen el dos, el uno automáticamente se corrige), lo volvería a usar.

Así vague por las IDE’s y llegué por azares del destino a vim (aunque vim no es una IDE). Vim (Vi Improved) es un editor como NotePad pero para linux (Yo sé, NotePad es un editor de textos). Lo interesante de Vim, al igual que Emacs (su archienemigo), se pueden configurar macros, etc. A muchos usuarios les fascina eso.

Cansado de programar “rudimentariamente” (sin ánimo de ofender a nadie) aterricé en Eclipse. Eclipse es una multi-IDE, ya que al podérsele instalar plugins, puedes programar en el mismo “programa” (Eclipse) tanto C como PHP o HTML, etc. Desarrollar diagramas de flujo, administrar Bases de datos, etc.

Al conocer Eclipse, casi inmediatamente o por obligación, llega uno a conocer Aptana. Eclipse, por default, no trae el plugin para PHP ni HTML. Así que hay varias opciones como PHPEclipse o PDT para PHP y Aptana para HTML. Así que sencillamente puedes instalar Eclipse, bajas los plugins y tienes una multi-IDE que trabaja tanto con PHP como HTML, además de bajar otro plugin (Remote System) y tienes acceso a FTP/SSH/Telnet.

Así que hoy leyendo la ayuda de JQuery me encontré con un tutorial que dice paso a paso ¡Como configurar aptana para desarrollar aplicaciones con JQuery! Así que es la duda:

¿Usar Eclipse o Aptana puro?

¿Mencioné que Eclipse tiene un plugin para administrar bases de datos?, es decir, no tienes que abrir PHPMyAdmin (PMA), Navcat o algo similar para ver tu base de datos.

El problema radica en que con otra cosa que no sea PMA no me acoplo, y por otro lado Aptana también tiene acceso FTP (cosa que no necesito pues es local todo).

Por el momento probaré Aptana solo, pues ya lo descargué (131MB) hehehe. Espero no arrepentirme porque tendré que bajar Eclipse y luego el plugin de Aptana hehehe :-/

Por otro lado, una cosa que busco es el poder generar un proyecto, cosa que no tiene Weaverslave.

He ahí el veredicto.

Links:

Saludos :)