diff --git a/laravel/html.php b/laravel/html.php index fd5bf82e..71a89080 100644 --- a/laravel/html.php +++ b/laravel/html.php @@ -9,6 +9,13 @@ class HTML { */ public static $macros = array(); + /** + * Cache application encoding locally to save expensive calls to config::get(). + * + * @var string + */ + public static $encoding = null; + /** * Registers a custom macro. * @@ -31,7 +38,8 @@ public static function macro($name, $macro) */ public static function entities($value) { - return htmlentities($value, ENT_QUOTES, Config::get('application.encoding'), false); + if(static::$encoding===null) static::$encoding = Config::get('application.encoding'); + return htmlentities($value, ENT_QUOTES, static::$encoding, false); } /** @@ -42,7 +50,8 @@ public static function entities($value) */ public static function decode($value) { - return html_entity_decode($value, ENT_QUOTES, Config::get('application.encoding')); + if(static::$encoding===null) static::$encoding = Config::get('application.encoding'); + return html_entity_decode($value, ENT_QUOTES, static::$encoding); } /** @@ -55,7 +64,8 @@ public static function decode($value) */ public static function specialchars($value) { - return htmlspecialchars($value, ENT_QUOTES, Config::get('application.encoding'), false); + if(static::$encoding===null) static::$encoding = Config::get('application.encoding'); + return htmlspecialchars($value, ENT_QUOTES, static::$encoding, false); } /**