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);
}
/**