Delos MVC PHP Framework
Instead of this block:

foreach ($a as $key =&gt; $value) {
    if($value == ''){
        unset($a[$key]);
    }
}


You could simply use array_filter() without the second parameter:

$a = array_filter($a);


And also your method system/core/Security::sanitize
(I suppose that would be $this-&gt;security-&gt;sanitize in your code above):


strip_tags does simply nothing after htmlspecialchars, because all the tags like &lt;b&gt; got replaced with &amp;lt;b&amp;gt;.
If that should secure you from cross site scripting it's definitely applied at the wrong place. You should only escape the html tags before outputting them, not directly after retrieving them, because some methods (like HTML parsers) would then parse the string wrongly.