cuadrantes-espiral
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Cuadrantes-espiral] [Offtopic] Smarty mola


From: Javier Linares
Subject: Re: [Cuadrantes-espiral] [Offtopic] Smarty mola
Date: Tue, 21 Jan 2003 02:10:22 +0100
User-agent: Mutt/1.3.28i

On Tue, Jan 21, 2003 at 01:22:16AM +0100, Diego Arranz wrote:
> Pues eso :)

¡¡¡Juolas!!!

> Después de todo el día con esto me voy a tocar una cosilla de los foros
> y vaya infierno para encontrarlo, ¿por qué no los hicieron con Smarty y
> con MVC? ¿por qué no le entra a la gente en la cabeza que un diseñador
> web y un programador de aplicaciones son dos seres con habilidades e
> inquietudes completamente distintas? ¡viva las plantillas! ¡viva el MVC!
> ¡viva la modularización! ¡viva la división del trabajo!

Venga, que alguien le dé también a Diego en el "reset" :P.

Bueno, te voy a contar un gran secreto... pero antes tienes que
prometerme que, a pesar de revelarte este gran secreto, vas a seguir
trabajando con el MVC, porque sólo hay que utilizar esta herramienta que
te voy a revelar en casos extremos.

Bien, no me extiendo más, el secreto es:

        ¡¡ grep !! 

:-). Basta hacer un:

        grep -r <texto> * | sort | more

Para buscar el <texto> en cualquiera de los archivos de ese directorio y
de todos los inferiores (en nivel, no en categoría ;-)). Basta un par de
iteraciones para encontrar lo deseado. Mira, ahí voy con un ejemplo (lo
hago esta vez pero la próxima lo hacéis vosotros :)):

        address@hidden lawebespiral]$ 
        address@hidden lawebespiral]$ pwd
        /www/vhtdocs/lawebespiral
        address@hidden lawebespiral]$ cd foros/
        address@hidden foros]$ grep -r "usuarios registrados" * | more
        language/lang_spanish.php:Tenemos -$newest_user_id-
        ".($total_users==1?"usuario 
        registrado":"usuarios registrados").".<br>
        address@hidden foros]$ 

Luego en el archivo languaje/lang_spanish.php tenemos ese texto. Lo
importante es que ya nos ha dado el nombre de la variable que contiene
esa cantidad: $newest_user_id.

Ahora buscaremos el nombre de esa variable, a ver si tenemos suerte y
aparece en pocos sitios:

        address@hidden foros]$ grep -r "newest_user_id" * | more
        language/lang_spanish.php:Tenemos -$newest_user_id-
        ".($total_users==1?"usuario registrado":"usuarios
        registrados").".<br>
        page_header.php:        $newest_user_id = $row["user_id"];
        page_header.php:        $profile_url =
        "$url_phpbb/bb_profile.$phpEx?mode=view&user=$newest_user_id";
        address@hidden foros]$ 

Vaya, ya sabemos que está en el archivo page_header.php. Lógicamente,
vuelve a aparecer el archivo de antes, la variable no se ha movido (al
menos esto no es física cuántica, las mediciones no alteran el código
fuente :-)).

Ahora atacamos de nuevo. Vamos a ver en qué líneas del archivo está la
variable:

        address@hidden foros]$ cat -n page_header.php | grep 
        "newest_user_id" | more
        187          $newest_user_id = $row["user_id"];
        188          $profile_url =
        "$url_phpbb/bb_profile.$phpEx?mode=view&user=$newest_user_id";

Hemos tenido suerte, ha aparecido sólo un par de veces, y en líneas muy
juntas. Así que ya sabemos que el código que queremos cambiar debe estar
en torno a la línea 187-188. Así que ahora hacemos:

      address@hidden foros]$ more +180 page_header.php 

ó 
      
      address@hidden foros]$ vim +180 page_header.php 

Y podremos ver o editar el archivo, respectivamente. Parece que se tarda
mucho porque he comentado cada comando que iba tecleando, pero cuando te
acostumbras no tardas más de 10 segundos en hacerlo todo.

Si hay menos suerte y la llamada SQL a la base de datos no está tan
cerca, basta ejecutar "grep" un par de veces más, con un poco de
inteligencia, y encontrarás la llamada.

:-).

Síiiiiiii, lo séeeeeeeeeee :), sé que esto no es una solución, que lo
ideal es tener las cosas ordenadas. Peeeeero una vez que el caos reina
tu programa (y tu vida en general :)), te ahorra mucho tiempo.

Digamos que es como las cajas "Google"[1] que vende nuestro buscador
amigo. No es una solución para organizar los archivos de las empresas,
porque todo tiene que estar en su categoría, en su formato y en su
carpeta. Pero cuando llegas al punto P, o dejas que una caja amarilla
marca Google ;-) indexe tus documentos o dejas que los documentos te
indexen a tí :P.

        [1] http://www.google.com/appliance/hardware.html

> Pero ya me voy a la cama antes de que me peguéis ;-P

No, si yo tampoco estoy muy fino hoy ;-).

-- 
 .''`.      Javier Linares              http://adala.org
: :'  :  <address@hidden>   <address@hidden>
`. `'`
  `-  Human knowledge belongs to the world
      [From the movie "Antitrust"]
  




reply via email to

[Prev in Thread] Current Thread [Next in Thread]