Hi Sven,
public function extend_sql($sql, $limit=NULL) {
if (is_null($limit)) {
$lgrnd = $this->_conf['select_limit_grnd'];
$lceil = $this->_conf['select_limit_ceil'];
} elseif (is_array($limit)) {
list($lgrnd,$lceil) = $limit;
} else {
throw new Exception('Parameter Error for Limit: Must be an array');
}
// ...
}
Das kannst du in PHP 5 dank [Type-Hinting](http://de3.php.net/manual/en/language.oop5.typehinting.php) sogar noch vereinfachen:
~~~php
public function extend_sql($sql, array $limit = null) {
if (null == $limit) {
$lgrnd = $this->_conf['select_limit_grnd'];
$lceil = $this->_conf['select_limit_ceil'];
}
else {
list ($lgrnd, $lceil) = $limit;
}
// ...
}
Durch die Verwendung von == statt is_null() habe ich direkt noch ein mögliches Problem in deinem obigen Code beseitigt. Dein Code reagiert nämlich nicht auf ein leeres Array, wodurch eventuell sowohl $lgrnd und $lceil NULL sein könnten, was vielleicht nicht dem entspricht, was man erwartet hätte. Weil ein leeres Array aber auch == NULL ist, wird dieser Fall bei mir direkt abgefangen.
Viele Grüße,
~ Dennis.