DependencyInjection.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <?php
  2. namespace ThurData\Servers\KerioEmail\Core\DependencyInjection;
  3. /**
  4. * Class DependencyInjection
  5. * @package ThurData\Servers\KerioEmail\Core\DependencyInjection
  6. */
  7. class DependencyInjection
  8. {
  9. /**
  10. * @param null $className
  11. * @param null $methodName
  12. * @param bool $canClone
  13. * @return mixed
  14. */
  15. public static function get($className = null, $methodName = null, $canClone = true)
  16. {
  17. if($methodName)
  18. {
  19. logModuleCall(
  20. 'kerioEmail',
  21. __FUNCTION__,
  22. $methodName,
  23. 'Debug Home',
  24. $className
  25. );
  26. return Container::getInstance()->call("$className@$methodName");
  27. }
  28. return Container::getInstance()->make($className);
  29. }
  30. /**
  31. * @param null $className
  32. * @param null $methodName
  33. * @param bool $canClone
  34. * @return mixed
  35. */
  36. public static function create($className = null, $methodName = null, $canClone = true)
  37. {
  38. if($methodName)
  39. {
  40. return Container::getInstance()->call("$className@$methodName");
  41. }
  42. return Container::getInstance()->make($className);
  43. }
  44. /**
  45. * @param null $className
  46. * @param null $methodName
  47. * @return mixed
  48. */
  49. public static function call($className = null, $methodName = null)
  50. {
  51. if($methodName)
  52. {
  53. return Container::getInstance()->call("$className@$methodName");
  54. }
  55. return Container::getInstance()->make($className);
  56. }
  57. }