StaticAccess.php 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <?php
  2. namespace ZN\Foundations;
  3. class StaticAccess
  4. {
  5. //----------------------------------------------------------------------------------------------------
  6. //
  7. // Yazar : Ozan UYKUN <ozanbote@windowslive.com> | <ozanbote@gmail.com>
  8. // Site : www.zntr.net
  9. // Lisans : The MIT License
  10. // Telif Hakkı: Copyright (c) 2012-2016, zntr.net
  11. //
  12. //----------------------------------------------------------------------------------------------------
  13. /******************************************************************************************
  14. * MAGIC METHOD CALL STATIC *
  15. *******************************************************************************************
  16. | Genel Kullanım: Dinamik sınıflara statik erişim sağlamak için kullanılmaktadır. |
  17. | |
  18. ******************************************************************************************/
  19. public static function __callStatic($method, $parameters)
  20. {
  21. return self::useClassName($method, $parameters);
  22. }
  23. /******************************************************************************************
  24. * MAGIC METHOD CALL *
  25. *******************************************************************************************
  26. | Genel Kullanım: Bir sınıfa statik erişildiği gibi dinamik olarak erişmek içindir. |
  27. | |
  28. ******************************************************************************************/
  29. public function __call($method, $parameters)
  30. {
  31. return self::useClassName($method, $parameters);
  32. }
  33. /******************************************************************************************
  34. * PROTECTED USE CLASS NAME *
  35. *******************************************************************************************
  36. | Genel Kullanım: Statik ve dinamik çağrılar için oluşturulmuş yardım yöntemdir. |
  37. | |
  38. ******************************************************************************************/
  39. protected static function useClassName($method, $parameters)
  40. {
  41. return uselib(STATIC_ACCESS.static::getClassName())->$method(...$parameters);
  42. }
  43. }