Почему пространство имен PHPMailer - «PHPMailer \ PHPMailer»;а не просто "PHPMailer"? - PullRequest
0 голосов
/ 04 октября 2018

Почему пространство имен библиотеки PHPMailer таково:

namespace PHPMailer\PHPMailer;

вместо приведенного ниже?

namespace PHPMailer;

1 Ответ

0 голосов
/ 04 октября 2018

Как объяснено в Документации PHP с приведенной ниже цитатой, поскольку в первом каталоге PHPMailer есть много файлов, вам необходимо указать полный путь к нужному вам местоположению.Поскольку PHPMailer находится внутри проекта PHPMailer, он кажется повторяющимся, но они являются ссылками на разные вещи.

Так же, как каталоги и файлы, пространства имен PHP также содержат возможность задавать иерархию имен пространств имен.Таким образом, имя пространства имен может быть определено с подуровнями.

<?php
namespace MyProject\Sub\Level;

const CONNECT_OK = 1;
class Connection { /* ... */ }
function connect() { /* ... */  }

?>

В приведенном выше примере создается константа MyProject \ Sub \ Level \ CONNECT_OK, класс MyProject \ Sub \ Level \ Connection ифункция MyProject \ Sub \ Level \ connect.

...