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

Rispondi quotando