<?phpQue foo::bar(); puede representar esas dos cosas y es una cagada.
namespace foo;
function bar(){echo "func\n";}
include 'file1.php';
class foo {
static function bar(){echo "method\n";}
}
foo::bar(); // func
?>
2008/10/27 Demián Andrés Rodriguez <demi...@gmail.com>:
--
Rodrigo Arce
Desarrollador Web
[http://rodrigoarce.com]
<?php
/* ... */
use Some\Name as Othername;
// The simplified form of use:
use Foo\Bar;
// which is the same as :
use Foo\Bar as Bar;
?>
En un lenguaje donde los tipos de variables son muy flexibles no lo
veo como algo malo usar dos operadores distintos para concatenar y
sumar, quizas es una cagada usar el ".".
> 2- palabra reservada (this) y no $this !!!!! por dios! que estaban
> pensando.
Tiene sentido si pensas a $this como una variable mas que como una
palabra reservada.
> 3- por que self:: y parent::? sin no son estaticas mis clases padres.
> No deberia ser parent-> y self-> ?
Coincido, es malisimo el self/parent no tiene coherencia.
> 4- OOP: mensajes, namespaces, estaticas (podria ser sinple dos
> puntos), etc TODO CON UN SIMPLE PUNTO. (.)
El "." te guste o no es el operador de concatenar. Deberian usar otro.
Como no se les ocurrió usaron \.
> 5- la palabra "function" en OOP tambien estaria de mas, es obvio que
> son funciones! no? o exagero ya? :)
Si tambien estoy de acuerdo, esto seguramente esta por retrocompatibilidad.
PHP mantiene muchos vicios de versiones viejas, lo que habria que
hacer es un PHPFork y combinar lo mejor de PHP con algo de coherencia.
--
El día 29 de octubre de 2008 11:39, Pablo Morales
<pablof...@gmail.com> escribió:
"Note: Strings may also be accessed using braces, as in $str{42}, for
the same purpose. However, this syntax is deprecated as of PHP 6. Use
square brackets instead."
2008/10/29 Hugo Arregui <hugo.a...@gmail.com>:
--
El día 29 de octubre de 2008 12:27, Andrés Gattinoni
<andresg...@gmail.com> escribió:
Testing....
[root@uterMak ~]# cat lala.php
<?php
$word = str_repeat(md5(423423423),1000000);
//Primer test
$t = microtime(true);
for ($i=0, $c=strlen($word); $i < $c; $i++) {}
$t = microtime(true) - $t;
echo "\nTerminado el primer for en $t segundos";
//Segundo test
$t = microtime(true);
$c = strlen($word);
for ($i=0; $i < $c; $i++) {}
$t = microtime(true) - $t;
echo "\nTerminado el segundo for en $t segundos";
die("\n");
[root@uterMak ~]# php lala.php
Terminado el primer for en 4.15783905983 segundos
Terminado el segundo for en 4.1460340023 segundos
[root@uterMak ~]# php lala.php # segunda prueba
Terminado el primer for en 4.15535306931 segundos
Terminado el segundo for en 4.1626098156 segundos
[root@uterMak ~]# php lala.php # tercera prueba
Terminado el primer for en 4.14624500275 segundos
Terminado el segundo for en 4.14564013481 segundos
[root@uterMak ~]#
Hago la explicacion del for (en PHP)
tiene 3 expresiones separadas por ";"
en cada expresion se pueden poner varias expresiones separadas por ","
for (expr1; expr2; expr3)
statement
LA PRIMERA EXPRESION SE EVALUA UNA VEZ, antes de iniciar el for, la
segunda antes de cada iteración y si lo que devuelve es true ejecuta
la statement, la tercera se ejecuta cada vez que termino el statement.
Fijate q el strlen de Oscar esta en la 1ª expresión NO en la segundo,
entonces se hace una sola vez.
Ademas si se hiciera mas de una vez, siempre se inicializaria el
contador, sería una idiotez.
La próxima fijate bien donde esta la "," el ";" y ¡quien carajo es
cada uno hace sabes a quien mierda putear!
2008/10/29 Pablo Morales <pablof...@gmail.com>: