Это позволяет иметь классы с одинаковыми именами даже в одной папке.Вот пример кода.
имя файла: namespace.php
<?php
namespace MyProject {
class Connection {
public function __construct(){
echo 'My Project class call';
}
}
function connect() {
echo 'My Project connect function.';
}
}
namespace AnotherProject {
class Connection {
public function __construct(){
echo 'Another Project class call';
}
}
function connect() {
echo 'Another Project connect function.';
}
}
?>
Другой файл, в котором мы используем это пространство имен.имя файла: myapp.php
<?php
require 'namespace.php';
//create a class object
$obj = new MyProject\Connection;
//calling a function
MyProject\connect();
//calling a another function
AnotherProject\connect();
?>