Взгляните на самую простую реализацию Singleton:
class Singleton {
protected static $_instance = null;
public static function newInstance()
{
if (null === self::$_instance)
{
self::$_instance = new self;
}
return self::$_instance;
}
// disallowed
protected function __clone() {}
// disallowed
protected function __construct() {}
}
Он гарантирует, что существует только один экземпляр этого в этом одном и том же запросе.
Таким образом, ваш Swift_SmtpTransport является Singleton:
$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, 'ssl');
Это означает, что каждый экземпляр Swift_SmtpTransport - это тот, который вы только что создали (для этого запроса) (это не означает, что вы можетене изменять свойства - возможно, экземпляр имеет методы получения и установки после его создания).
А теперь давайте посмотрим, что вы уже обнаружили:
Синглтонсозданный в одном Запросе живет именно для этого запроса.
Так что на запрос и запрос также не влияет на другиезапросы .Так что нет, я не думаю, что это влияет на других пользователей.Даже если вы измените конфигурацию в соответствии с одним запросом .
Для получения дополнительной информации также читайте: Одновременные запросы к PHP-скрипту - для каждого запроса создается новый независимый процесс, который не имеет ничего общего с остальными.Единственное, что они могут блокировать друг друга.
Документация Laravel гласит:
Значения конфигурации, установленные во время выполнения, устанавливаются только для текущего запроса, ине будут перенесены на последующие запросы.