С любезной помощью @ceejayoz я решил проблему следующим образом:
Вместо нескольких определений class
в одном файле, создайте подкаталог app\Services\MailerService
и в этом месте каталога JFIMail.php
и MailerService.php,
, каждый из которых содержит одно определение класса, соответствующее имени файла.
Теперь утверждение из исходного поста гласит:
$emails = \App\Services\MailerService\JFIEmail::query();
А операторы use
выглядят так это:
use app\Services\MailerService\JFIEmail;
use app\Services\MailerService\MailerService;
Интересно, что , и хотя имя root -директории равно app
, а не App
, PHP специально отвергло высказывание app\Services\MailerService\JFIEmail
! Он хотел, чтобы имя namespace точно совпадало. (Однако: имена всех внутренних папок точно совпадают с регистром, и я не собираюсь подробно останавливаться на этом вопросе.)
Еще раз, спасибо всем за помощь в решении этой проблемы.