[Php-it] branch php-5.3.X
simo
fsockopen at yahoo.it
Tue Oct 2 12:57:19 CEST 2007
Per la data non si sa
cmq la sintax
http://blog.agoraproduction.com/index.php?/archives/51-Namespaces-has-PHP-5.3-Or-the-other-way-around.html
technical (diff e tests)
http://news.php.net/php.zend-engine.cvs/6039
mi sembra che il salto sia grosso
qui chi non e' abituato ad usare i __NAMESPACE__ o studia (o non li usa) o cambia linguaggio
<?php
namespace SomePackage;
const Name = 'David';
?>
<?php
import SomePackage as SP;
echo SP::Name;
echo SomePackage::Name;
echo ::SomePackage::Name;
?>
riflessioni:
1)
una cosa che non capisco e' perche' creare un alias (as SP) ??
non bastava " import SomePackage " ??
e SomePackage::Name o new SomePackage::Class()
2)
non so se sia possibile fare come in altri linguaggi IMPORT PARZIALI ... (ma non credo)
from SomePackage import ClassName1, ClassName2
oppure
import SomePackage::ClassName1
import SomePackage::ClassName2
o e' necessario tirare sempre dentro TUTTO il package
con "import SomePackage as SP"
(temo di nn sia possibile :( )
3)
i namespace sembrano non avere DELIMITERS
quindi un namespace e' un file ... come le classi di java o c++ o i ns di C#
BENE ... ma visto che non e' (o sembra) possibile fare IMPORT PARZIALI ...
non era meglio usare gli SCOPE come in tutte le altre situazioni ? (classi, funzioni)
es.
<?php
namespace WaltDisney
{
class Pippo()
{
return "amico di topolino\n";
}
}
namespace Milan
{
class Pippo()
{
return "inzaghi\n";
}
}
echo new Milan::Pippo()
echo new WaltDisney::Pippo()
?>
quindi mi chiedo:
Qual'e' il significato dei ns fatti cosi' ? solo la Visibilita' di classi, funz e costanti ?
___________________________________
L'email della prossima generazione? Puoi averla con la nuova Yahoo! Mail: http://it.docs.yahoo.com/nowyoucan.html
More information about the Php-it
mailing list