| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- <?php
- namespace Illuminate\Translation;
- trait CreatesPotentiallyTranslatedStrings
- {
- /**
- * Create a pending potentially translated string.
- *
- * @param string $attribute
- * @param string|null $message
- * @return \Illuminate\Translation\PotentiallyTranslatedString
- */
- protected function pendingPotentiallyTranslatedString($attribute, $message)
- {
- $destructor = $message === null
- ? fn ($message) => $this->messages[] = $message
- : fn ($message) => $this->messages[$attribute] = $message;
- return new class($message ?? $attribute, $this->validator->getTranslator(), $destructor) extends PotentiallyTranslatedString
- {
- /**
- * The callback to call when the object destructs.
- *
- * @var \Closure
- */
- protected $destructor;
- /**
- * Create a new pending potentially translated string.
- *
- * @param string $message
- * @param \Illuminate\Contracts\Translation\Translator $translator
- * @param \Closure $destructor
- */
- public function __construct($message, $translator, $destructor)
- {
- parent::__construct($message, $translator);
- $this->destructor = $destructor;
- }
- /**
- * Handle the object's destruction.
- *
- * @return void
- */
- public function __destruct()
- {
- ($this->destructor)($this->toString());
- }
- };
- }
- }
|