Ogólnie takie wykorzystanie namespace mija się z celem, który chcesz osiągnąć.
Namespace użyłbym na Twoim miejscu na posortowanie klas, o tej samej nazwie ale innym działaniu. I raczej namespace używa się w rozbudowanych projektach.
Np:
echo \MySQL\connect();
echo \PDO\connect();
Ale jeżeli musisz już bardzo mocno to:
plik namespace.php
<?php
namespace First {
class F {
function one
() { echo '1'; } function two
() { echo '2'; } }
}
namespace Second {
class F {
function one
() { echo '2'; } function two
() { echo '1'; } }
}
namespace Third {
class F {
function one
() { echo 'null'; } function two
() { echo 'null'; } }
}
?>
oraz plik namespace2.php
<?php
require_once('namespace.php');
if(isset($_GET['namespace'])) { $namespace = '\\'.$_GET['namespace'];
}
else {
$namespace = '\Third';
}
$fullClassName = $namespace.'\\F';
$class = new $fullClassName;
$class->one();
?>
W zależności od namespace2.php?namespace=
Wywoływana jest metoda 'one()' z różnej klasy o tej samej nazwie z różnych namespace.