ImageManagerStatic.php 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. <?php
  2. namespace Intervention\Image;
  3. use Closure;
  4. class ImageManagerStatic
  5. {
  6. /**
  7. * Instance of Intervention\Image\ImageManager
  8. *
  9. * @var ImageManager
  10. */
  11. public static $manager;
  12. /**
  13. * Creates a new instance
  14. *
  15. * @param ImageManager $manager
  16. */
  17. public function __construct(ImageManager $manager = null)
  18. {
  19. self::$manager = $manager ? $manager : new ImageManager;
  20. }
  21. /**
  22. * Get or create new ImageManager instance
  23. *
  24. * @return ImageManager
  25. */
  26. public static function getManager()
  27. {
  28. return self::$manager ? self::$manager : new ImageManager;
  29. }
  30. /**
  31. * Statically create new custom configured image manager
  32. *
  33. * @param array $config
  34. *
  35. * @return ImageManager
  36. */
  37. public static function configure(array $config = array())
  38. {
  39. return self::$manager = self::getManager()->configure($config);
  40. }
  41. /**
  42. * Statically initiates an Image instance from different input types
  43. *
  44. * @param mixed $data
  45. *
  46. * @return \Intervention\Image\Image
  47. */
  48. public static function make($data)
  49. {
  50. return self::getManager()->make($data);
  51. }
  52. /**
  53. * Statically creates an empty image canvas
  54. *
  55. * @param integer $width
  56. * @param integer $height
  57. * @param mixed $background
  58. *
  59. * @return \Intervention\Image\Image
  60. */
  61. public static function canvas($width, $height, $background = null)
  62. {
  63. return self::getManager()->canvas($width, $height, $background);
  64. }
  65. /**
  66. * Create new cached image and run callback statically
  67. *
  68. * @param Closure $callback
  69. * @param integer $lifetime
  70. * @param boolean $returnObj
  71. *
  72. * @return mixed
  73. */
  74. public static function cache(Closure $callback, $lifetime = null, $returnObj = false)
  75. {
  76. return self::getManager()->cache($callback, $lifetime, $returnObj);
  77. }
  78. }