Browse Source

Merge pull request #1204 from bryantebeek/optimisation/str-class

Performance enhancement for Str Class (see pull request #1180)
Taylor Otwell 12 years ago
parent
commit
09500818e0
1 changed files with 16 additions and 11 deletions
  1. 16 11
      laravel/str.php

+ 16 - 11
laravel/str.php

@@ -9,17 +9,22 @@ class Str {
 	 */
 	 */
 	public static $pluralizer;
 	public static $pluralizer;
 
 
-	/**
-	 * Get the default string encoding for the application.
-	 *
-	 * This method is simply a short-cut to Config::get('application.encoding').
-	 *
-	 * @return string
-	 */
-	public static function encoding()
-	{
-		return Config::get('application.encoding');
-	}
+    /**
+     * Cache application encoding locally to save expensive calls to Config::get().
+     *
+     * @var string
+     */
+    public static $encoding = null;
+
+    /**
+     * Get the appliction.encoding without needing to request it from Config::get() each time.
+     *
+     * @return string
+     */
+    protected static function encoding()
+    {
+        return static::$encoding ?: static::$encoding = Config::get('application.encoding');
+    }
 
 
 	/**
 	/**
 	 * Get the length of a string.
 	 * Get the length of a string.