From 4b8fc70dcc5b0aa0f95369e2097525fbbf8dc2a2 Mon Sep 17 00:00:00 2001 From: Oliver Vogel Date: Fri, 8 Mar 2013 19:24:49 +0100 Subject: [PATCH] added cache method --- src/Intervention/Image/Image.php | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/Intervention/Image/Image.php b/src/Intervention/Image/Image.php index 4be65912..2a499926 100644 --- a/src/Intervention/Image/Image.php +++ b/src/Intervention/Image/Image.php @@ -3,6 +3,7 @@ namespace Intervention\Image; use Exception; +use Closure; use Illuminate\Filesystem\Filesystem; class Image @@ -141,6 +142,26 @@ class Image return $image; } + /** + * Create new cached image and run callback + * (requires additional package intervention/imagecache) + * + * @param Closure $callback + * @return Image + */ + public static function cache(Closure $callback = null) + { + if ( ! class_exists('\Intervention\Image\ImageCache')) { + throw new Exception('Please install package intervention/imagecache before running this function.'); + } + + // Create image and run callback + $image = new \Intervention\Image\ImageCache; + $image = is_callable($callback) ? $callback($image) : $image; + + return $image->get(); + } + /** * Set properties for image resource from image file *