![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/laminas/laminas-mail/src/ |
<?php namespace Laminas\Mail; use Traversable; use function gettype; use function is_array; use function is_object; use function method_exists; use function sprintf; use function str_replace; use function strtr; use function ucwords; class MessageFactory { /** * @param array|Traversable $options * @return Message */ public static function getInstance($options = []) { if (! is_array($options) && ! $options instanceof Traversable) { throw new Exception\InvalidArgumentException(sprintf( '"%s" expects an array or Traversable; received "%s"', __METHOD__, is_object($options) ? $options::class : gettype($options) )); } $message = new Message(); foreach ($options as $key => $value) { $setter = self::getSetterMethod($key); if (method_exists($message, $setter)) { $message->{$setter}($value); } } return $message; } /** * Generate a setter method name based on a provided key. * * @param string $key * @return string */ private static function getSetterMethod($key) { return 'set' . str_replace( ' ', '', ucwords( strtr( $key, [ '-' => ' ', '_' => ' ', ] ) ) ); } }