Разработчик постоянно сталкивается с непредсказуемыми условиями при работе над приложениями для клиентов, установкой сервера и конфигурации. Чтобы облегчить напряженное рабочее положение, достаточно использовать 4 весьма простые, но очень эффективные функции РHP.
Все желают в процессе разработки получать отчет об ошибках на самом высоком уровне. Но сообщения о таких ошибках нельзя показывать на рабочем сервере. И так, чтобы избежать этого, используют простую функцию, которая должна диагностировать константу DEVELOPMENT_ENVIRONMENT и действовать в соответствии с установками.
function setReporting() {
if (DEVELOPMENT_ENVIRONMENT == true) {
error_reporting(-1);
ini_set('display_errors','On');
} else {
error_reporting(-1);
ini_set('display_errors','Off');
ini_set('log_errors', 'On');
ini_set('error_log', ROOT.DS.'lm/tmp'.DS.'logs'.DS.'error.log');
}
}
На последней строке Вам нужно установить свой путь к журналу ошибок.
Вторая функция предназначена быть вспомогательной для слешей, которые используются в третьей функции.
function stripSlashesDeep($value) {
$value = is_array($value) ? array_map('stripSlashesDeep', $value) : stripslashes($value);
return $value;
}
Эта функция используется в следующем:
function removeMagicQuotes() {
if ( get_magic_quotes_gpc() ) {
$_GET = stripSlashesDeep($_GET );
$_POST = stripSlashesDeep($_POST );
$_COOKIE = stripSlashesDeep($_COOKIE);
}
}
Если среда использует Magic Quotes, то данная функция не производит обработку строк.
И последняя по порядку, но не по важности, функция, которая проверяет настройки для зарегистрированных глобальных установок и успешно с ними справляется:
function unregisterGlobals() {
if (ini_get('register_globals')) {
$array = array('_SESSION', '_POST', '_GET', '_COOKIE', '_REQUEST', '_SERVER', '_ENV', '_FILES');
foreach ($array as $value) {
foreach ($GLOBALS[$value] as $key => $var) {
if ($var === $GLOBALS[$key]) {
unset($GLOBALS[$key]);
}
}
}
}
}
Ваше приложение снова в безопасности.
Надеюсь, эти маленькие функции помогут в Ваших PHP продвижениях.



