| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- <?php
- /**
- * This file is part of the Carbon package.
- *
- * (c) Brian Nesbitt <brian@nesbot.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
- namespace Carbon;
- use Carbon\Exceptions\ImmutableException;
- use Symfony\Component\Config\ConfigCacheFactoryInterface;
- use Symfony\Component\Translation\Formatter\MessageFormatterInterface;
- class TranslatorImmutable extends Translator
- {
- /** @var bool */
- private $constructed = false;
- public function __construct($locale, MessageFormatterInterface $formatter = null, $cacheDir = null, $debug = false)
- {
- parent::__construct($locale, $formatter, $cacheDir, $debug);
- $this->constructed = true;
- }
- /**
- * @codeCoverageIgnore
- */
- public function setDirectories(array $directories)
- {
- $this->disallowMutation(__METHOD__);
- return parent::setDirectories($directories);
- }
- public function setLocale($locale)
- {
- $this->disallowMutation(__METHOD__);
- return parent::setLocale($locale);
- }
- /**
- * @codeCoverageIgnore
- */
- public function setMessages($locale, $messages)
- {
- $this->disallowMutation(__METHOD__);
- return parent::setMessages($locale, $messages);
- }
- /**
- * @codeCoverageIgnore
- */
- public function setTranslations($messages)
- {
- $this->disallowMutation(__METHOD__);
- return parent::setTranslations($messages);
- }
- /**
- * @codeCoverageIgnore
- */
- public function setConfigCacheFactory(ConfigCacheFactoryInterface $configCacheFactory): void
- {
- $this->disallowMutation(__METHOD__);
- parent::setConfigCacheFactory($configCacheFactory);
- }
- public function resetMessages($locale = null)
- {
- $this->disallowMutation(__METHOD__);
- return parent::resetMessages($locale);
- }
- /**
- * @codeCoverageIgnore
- */
- public function setFallbackLocales(array $locales)
- {
- $this->disallowMutation(__METHOD__);
- parent::setFallbackLocales($locales);
- }
- private function disallowMutation($method)
- {
- if ($this->constructed) {
- throw new ImmutableException($method.' not allowed on '.static::class);
- }
- }
- }
|