Можно клонировать инстанцированный объект, изменить какое-либо значение и создать новый объект с этими измененными значениями, но без изменения значений исходного объекта.
Я знаю, что могу выполнить глубокое копирование, используякоманда unserialize(serialize($swift))
, но я не нашел способа изменить значения.
Источник / оригинал:
Swift_Mailer {#777
-transport: Swift_SmtpTransport {#779
-handlers: array:1 [
"AUTH" => Swift_Transport_Esmtp_AuthHandler {#783
-authenticators: array:5 [
0 => Swift_Transport_Esmtp_Auth_CramMd5Authenticator {#784}
1 => Swift_Transport_Esmtp_Auth_LoginAuthenticator {#785}
2 => Swift_Transport_Esmtp_Auth_PlainAuthenticator {#786}
3 => Swift_Transport_Esmtp_Auth_NTLMAuthenticator {#787}
4 => Swift_Transport_Esmtp_Auth_XOAuth2Authenticator {#788}
]
-username: "myname@domain.local"
-password: "mypassword"
-auth_mode: null
-esmtpParams: []
}
]
-capabilities: []
-params: array:8 [
"protocol" => "ssl"
"host" => "mail.domain.com"
"port" => 465
"timeout" => 30
"blocking" => 1
"tls" => false
"type" => 1
"stream_context_options" => []
]
Изменено:
Swift_Mailer {#777
-transport: ...
]
-username: "myname@otherdomain.local"
-password: "otherpassword"
...
}
]
-capabilities: []
-params: array:8 [
"protocol" => "tls"
"host" => "mail.otherdomain.net"
"port" => 888
...
]