DependencyInjection.php 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <?php
  2. namespace ModulesGarden\Servers\ZimbraEmail\Core\DependencyInjection;
  3. /**
  4. * Class DependencyInjection
  5. * @package ModulesGarden\Servers\ZimbraEmail\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. return Container::getInstance()->call("$className@$methodName");
  20. }
  21. return Container::getInstance()->make($className);
  22. }
  23. /**
  24. * @param null $className
  25. * @param null $methodName
  26. * @param bool $canClone
  27. * @return mixed
  28. */
  29. public static function create($className = null, $methodName = null, $canClone = true)
  30. {
  31. if($methodName)
  32. {
  33. return Container::getInstance()->call("$className@$methodName");
  34. }
  35. return Container::getInstance()->make($className);
  36. }
  37. /**
  38. * @param null $className
  39. * @param null $methodName
  40. * @return mixed
  41. */
  42. public static function call($className = null, $methodName = null)
  43. {
  44. if($methodName)
  45. {
  46. return Container::getInstance()->call("$className@$methodName");
  47. }
  48. return Container::getInstance()->make($className);
  49. }
  50. }