How can namespaces be effectively used to streamline the inclusion of classes from different directories and eliminate the need for repetitive require_once statements in PHP?

Namespaces can be effectively used in PHP to streamline the inclusion of classes from different directories by organizing classes into logical groupings. This eliminates the need for repetitive require_once statements by allowing you to autoload classes based on their namespace. By defining namespaces for your classes and using an autoloader function, you can easily include classes without the need for manual require_once statements.

// Autoloader function to load classes based on their namespace
spl_autoload_register(function ($class) {
    $class = str_replace('\\', '/', $class);
    require_once __DIR__ . '/' . $class . '.php';
});

// Example usage of classes with namespaces
use MyNamespace\MyClass;

$myClass = new MyClass();
$myClass->doSomething();