config->site_url() optimizations
- direct access to config array, instead of item() calls
- the string cast is just in case 'url_suffix' would be set to false or null; the function produces the same results without this cast, but it leads to a robuster code, as false and null are sanitized and skip the suffix insertion code
- altered conditional structure: if no suffix, skip the appending of an empty string to $uri
diff --git a/system/core/Config.php b/system/core/Config.php
index 8250b5b..9e6d2cb 100644
--- a/system/core/Config.php
+++ b/system/core/Config.php
@@ -245,15 +245,18 @@
if ($this->item('enable_query_strings') === FALSE)
{
- $suffix = ($this->item('url_suffix') === FALSE) ? '' : $this->item('url_suffix');
+ $suffix = isset($this->config['url_suffix']) ? (string) $this->config['url_suffix'] : '';
- if ($suffix !== '' && ($offset = strpos($uri, '?')) !== FALSE)
+ if ($suffix !== '')
{
- $uri = substr($uri, 0, $offset).$suffix.substr($uri, $offset);
- }
- else
- {
- $uri .= $suffix;
+ if (($offset = strpos($uri, '?')) !== FALSE)
+ {
+ $uri = substr($uri, 0, $offset).$suffix.substr($uri, $offset);
+ }
+ else
+ {
+ $uri .= $suffix;
+ }
}
return $this->slash_item('base_url').$this->slash_item('index_page').$uri;