[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