Advertisement
Guest User

Untitled

a guest
May 29th, 2016
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.65 KB | None | 0 0
  1. $article = (new Article)->find(15);
  2. $banner = (new Banner)->find(1);
  3.  
  4. $articleTrans = $article->trans(); // method trans is method from Translateable
  5.  
  6. AppModelsArticleTrans
  7. Article
  8.  
  9. AppModelsArticleTrans
  10. Banner
  11.  
  12. class Translateable extends Model {
  13.  
  14. public static $transLang;
  15. public static $transClass = null;
  16. public static $instance = null;
  17.  
  18. public function __construct(array $attributes = array()) {
  19.  
  20. static::$transLang = App::getLocale();
  21.  
  22. parent::$transClass = static::$transClass;
  23. parent::$instance = static::$instance;
  24. parent::__construct($attributes);
  25.  
  26. }
  27. /**
  28. * get items trans
  29. *
  30. * @param null $lang
  31. * @return mixed
  32. */
  33. public function trans($lang = null) {
  34. if($lang == null) {
  35. $lang = static::$transLang;
  36. }
  37.  
  38. echo static::$transClass;
  39. echo class_basename(static::$instance);
  40. die();
  41.  
  42. }
  43. }
  44.  
  45. class Article extends Translateable {
  46. public static $transClass = 'AppModelsArticleTrans';
  47.  
  48. public function __construct(array $attributes = array()) {
  49.  
  50. parent::$transClass = static::$transClass;
  51. parent::$instance = $this;
  52.  
  53. parent::__construct($attributes);
  54.  
  55. }
  56. }
  57.  
  58. class Banner extends Translateable {
  59.  
  60. public static $transClass = 'AppModelsBannerTrans';
  61.  
  62. public function __construct(array $attributes = array()) {
  63.  
  64. parent::$transClass = static::$transClass;
  65. parent::$instance = $this;
  66.  
  67. parent::__construct($attributes);
  68.  
  69. }
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement