Desde Vivaphp leo su noticia de haber definido ya el separador para los namespaces en PHP, algo que se viene deseando hace mucho.
Lo malo es la horrible implementación que hicieron, si bien PHP empezó como un lenguaje orientado a la web, se podria decir como un gran competidor al ASP, PHP fue evolucionando mucho para ir convirtiendose en un lenguaje orientado a objetos con todo lo que eso pide (Encapsulación, herencia, Polimorfismo... etc) un salto muy grande de su versión 4 a la 5, incorporando interfaces, clases abtractas y estaticas y demás, tambien se facilitaron muchos aspectos que le faltaba a PHP.
Ahora volviendo al tema, el caracter definido \ (barra invertida), tipica de un windowsero, fue la escogida para separar los nompres de namespaces, asi que veremos sintaxis del tipo:
use foo\bar;
o
$oUser = new Controllers\Model\Users();
Y si bien lo definen así por los conflictos con el doble punto (:) por metodos estáticos:
namespace foo::foo;
function bar(){echo "func\n";}
namespace foo;
class foo {
static function bar(){echo "method\n";}
}
foo::bar(); // method
?>
Las razones marcadas no son del todo "respetables", como estas:
- \ is a single keystroke on U.S. keyboard layout without shift key
- \this\is\used for paths on Windows and is intuitively familiar to those developers. According to a php|arch survey (as relayed by Steph Fox), most of their readers develop on Windows and deploy on Unix, which would imply that \these\paths are familiar
Realmente espero que esto cambie pronto y recapaciten
Links:
Consepto de Namespaces
RFC oficial
Noticia en VivaPhp
Discución en Web&Beer
0 comentarios:
Publicar un comentario