Rodrigo Fuentealba escribió:
> El 3/12/06, Alvaro Herrera<[EMAIL PROTECTED]> escribió:
> >Huh, el uso del ámbito (scope) de las variables no tiene nada que ver
> >con tipado fuerte.  Este es uno de los grandes problemas con PHP.
> 
> ahhh damn!!! tomé "scope" como "tipo de datos". olviden lo que dije
> 
> [[ nota para mi mismo: el scope en php puede ser public, protected o
> private... a la pared con el cartelito de /burro/ !!]]

Hummm, pero eso es solo para los miembros de una clase, no?  Porque una
variable puede estar en una funcion o metodo, y en ese caso no son ni lo
uno ni lo otro, sino locales o globales.  Y en PHP tambien existe esa
cosa rara llamada "superglobal".

Lo mas fastidioso es que las variables globales no son tomadas como
globales automaticamente sino que tienes que indicar en la funcion que
quieres usar la global.  Es muy raro eso y mas de una vez tuve problemas
porque olvide hacerlo.  El funcionamiento del ambito es otra de las
cosas que encuentro muy rara (por no decir "broken") en PHP.

-- 
Alvaro Herrera                  http://www.amazon.com/gp/registry/5ZYLFMCVHXC
"Oh, great altar of passive entertainment, bestow upon me thy discordant images
at such speed as to render linear thought impossible" (Calvin a la TV)
From [EMAIL PROTECTED]  Sun Dec  3 23:29:33 2006
From: [EMAIL PROTECTED] (Rodrigo Fuentealba)
Date: Sun Dec  3 23:24:10 2006
Subject: Framework para PHP
In-Reply-To: <[EMAIL PROTECTED]>
References: <[EMAIL PROTECTED]>
        <[EMAIL PROTECTED]>
        <[EMAIL PROTECTED]>
        <[EMAIL PROTECTED]>
        <[EMAIL PROTECTED]>
        <[EMAIL PROTECTED]>
        <[EMAIL PROTECTED]>
        <[EMAIL PROTECTED]>
        <[EMAIL PROTECTED]>
        <[EMAIL PROTECTED]>
Message-ID: <[EMAIL PROTECTED]>

El 3/12/06, Alvaro Herrera<[EMAIL PROTECTED]> escribió:
> Rodrigo Fuentealba escribió:
> > El 3/12/06, Alvaro Herrera<[EMAIL PROTECTED]> escribió:
> > >Huh, el uso del ámbito (scope) de las variables no tiene nada que ver
> > >con tipado fuerte.  Este es uno de los grandes problemas con PHP.
> >
> > ahhh damn!!! tomé "scope" como "tipo de datos". olviden lo que dije
> >
> > [[ nota para mi mismo: el scope en php puede ser public, protected o
> > private... a la pared con el cartelito de /burro/ !!]]
>
> Hummm, pero eso es solo para los miembros de una clase, no?  Porque una
> variable puede estar en una funcion o metodo, y en ese caso no son ni lo
> uno ni lo otro, sino locales o globales.  Y en PHP tambien existe esa
> cosa rara llamada "superglobal"

Si, hasta para los que programamos en PHP es molesto. Sin embargo es
una buena costumbre programar con register_globals en off... (es una
de las cosas que mas se le ha criticado siempre a PHP). Una cosa que
en PHP 6 no está y que en PHP 5.2 no debería estar (Cristian?)

> Lo mas fastidioso es que las variables globales no son tomadas como
> globales automaticamente sino que tienes que indicar en la funcion que
> quieres usar la global.

Creo que el uso de globales en PHP es cosa de orden solamente.
Considero mejor (...que es desordenado el cuento de las variables) que
el usuario explicitamente diga que usara la variable global.

De otra manera, si se detectara automaticamente, podrias modificar un
valor inconscientemente en una funcion y quedaria la crema... Los
programadores PHP que conozco (salvo Cristian Rodriguez) tienden a ser
desordenados y a no mirar el manual oficial: un gran PITA.

(el uso de globales, al menos en ese engendro de la Borland llamado
Turbo C tampoco era muy bueno, o me equivoco?)

> Es muy raro eso y mas de una vez tuve problemas
> porque olvide hacerlo.  El funcionamiento del ambito es otra de las
> cosas que encuentro muy rara (por no decir "broken") en PHP.

Di "broken" con toda tranquilidad. Estamos conscientes de eso.

-- 
Rodrigo Fuentealba Cartes
Desarrollador de Sistemas Web
Registered User 387639 - http://counter.li.org

Responder a