src/Entity/TranslatedEntity.php line 37

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use Doctrine\ORM\EntityManagerInterface;
  4. use Symfony\Bundle\TwigBundle\TwigEngine;
  5. use Swift_Mailer;
  6. class TranslatedEntity
  7. {
  8. protected $languageId;
  9. protected $currentLocale;
  10. public function getLanguageId() {
  11. return $this->languageId;
  12. }
  13. public function setLanguageId($languageId) {
  14. $this->languageId = $languageId;
  15. }
  16. public function setCurrentLocale($locale) {
  17. $this->currentLocale = $locale;
  18. }
  19. public function translate($languageCode='fr')
  20. {
  21. $languageId = $languageCode=='fr'?4:1;
  22. $this->setLanguageId($languageId);
  23. $this->setCurrentLocale($languageCode);
  24. }
  25. public function __call($method, $arguments)
  26. {
  27. $translatedMethod = 'get'.$this->tranlatedEntity;
  28. $translatedObject = call_user_func_array(
  29. [$this, $translatedMethod],[]
  30. );
  31. return \Symfony\Component\PropertyAccess\PropertyAccess::createPropertyAccessor()->getValue($translatedObject, $method);
  32. }
  33. }