Namespace & Autoload

//namespace помогает в разграничении классов
namespace NS;
class Transaction{};

//Где то в другом файле
require_once 'Transaction.php';

new Transaction(); // теперь за это бан

new NS\Transaction(); // доступно

/*****/
use NS; // и сразу
new Transaction(); // доступно

//namespace можно указывать в виде файловой структуры  MyPack\Some\Some и тд.
// но это лишь названия
// в одном пространстве имен можно использовать классы не указывая их полный путь

Для встроенных классов

namespace SomeName;

class Transaction{
  public function __construct(){
     new DateTime(); // бан, так как ищет в SomeName\Datetime, а такого нет
     
     new \DateTime(); // как надо, вызов из глобального пространства имен
  }
}

/*****/
// или заранее
use DateTime;
class Transaction{
  public function __construct(){
     new DateTime(); // теперь можно и так
  }
}

Подключение стороннего пространства имен

// имеем файл
namespace SomeName;

class Transaction{
  public function __construct(){
     new Notification\Email(); // так сразу нельзя, другое пространство жеж
                               // считается сокращенным именем, которое дополняет
                               // SomeName\Notification\Email();
     
     new \Notification\Email(); // так верно, это полная версия 
  }
}
/****/

// локальные функции приоритетнее глобальных

class Transaction{
  public function __construct(){
     var_dump(explode(',','Some, text')); // получим foo так как рядом найдена функция explode
    
     var_dump(\explode(',','Some, text'));// теперь сработает как и должно                            
  }
}

function explode($separator,$str){
  return 'foo';
}

/****/
//псевдонимы для классов
use Some\Transaction as SomeT; // new SomeT();
use Another\Transaction; 

Autoload

// убедиться что везде есть namespace

spl_autoload_register(function($class)){
$path = __DIR__.'/../'.str_replace('\\','/',$class).'.php';
//lcfirst если надо App -> app
  if(file_exists($path)){
    require $path;
  }

}
use App/Path/To/Class;

// теперь все что есть в файле будет подгружено

Composer

Стандарты (PSR-4)

Composer