no no fermo che fai casini
stesso tuo esempio:
codice:
test/test.php
test/config/Connection.php
questa è la classe Connection:
Codice PHP:
<?php
/* /test/config/Connection.php */
namespace config;
class Connection{
public function hello(){
return 'World!';
}
}
esempio 1:
Codice PHP:
<?php
//test.php
include_once "./config/Connection.php";
//dichiaro di usare la classe del namespace
use \\config\\Connection; /* nota lo slash davanti a config! */
$connection = new Connection();
echo $connection->hello();
esempio 2:
Codice PHP:
<?php
include_once...
use \\config; //dichiaro l'uso del namespace, ma così ha più senso se usi un alias
$connection = new config\\Connection();
...
esempio 3, alias classe:
Codice PHP:
<?php
include_once ...
use \\config\\Connection as AnotherClass;
$connection = new AnotherClass();
...
esempio 4, alias del namespace:
Codice PHP:
<?php
include_once ...
use \\config as MyCoolNamespace;
$connection = new MyCoolNamespace\\Connection();
...
immagina ora che tu abbia il seguente namesapce:
codice:
My\\Cool\\Namespace\\Path
e la classe Connection:
Codice PHP:
<?php
namespace My\\Cool\\Namespace\\Path;
class Connection{ ... }
una cosa comoda dell'uso dell'alias per il namespace è questo:
Codice PHP:
<?php
include_once ....
use \\My\\Cool\\Namespace\\Path as DB;
$connection = new DB\\Connection();
eviti il naming collision, rendi il codice più chiaro e di immediata comprensione, aggiungi una froceria che fà molto cool.
cmq in php.net hai tutto il reference sui namespace: http://www.php.net/manual/en/language.namespaces.php