暂存
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
<?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());
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user