4 небольших, но весьма полезных функции PHP

При работе над приложением для клиентов разработчику приходится сталкиваться с непредсказуемыми условиями рабочего окружения, установками сервера и конфигурациями. Чтобы исправить положение можно использовать 4 простые, но эффективные PHP функции.

В ходе разработки нужно получать сообщения об ошибках как можно более высокого уровня. Но в рабочих версиях сервера нужно скрывать такие сообщения. Для этого можно использовать простую функцию, которая будет проверять константу 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.


Источник: http://feedproxy.google.com/~r/ruseller/CdHX/~3/jWQUb7M7pY8/lessons.php

Читать комменты и комментировать

Добавить комментарий / отзыв



Защитный код
Обновить

4 небольших, но весьма полезных функции PHP | | 2012-06-29 06:31:36 | | Статьи Web-мастеру | | При работе над приложением для клиентов разработчику приходится сталкиваться с непредсказуемыми условиями рабочего окружения, установками сервера и конфигурациями. Чтобы исправить положение можно | РэдЛайн, создание сайта, заказать сайт, разработка сайтов, реклама в Интернете, продвижение, маркетинговые исследования, дизайн студия, веб дизайн, раскрутка сайта, создать сайт компании, сделать сайт, создание сайтов, изготовление сайта, обслуживание сайтов, изготовление сайтов, заказать интернет сайт, создать сайт, изготовить сайт, разработка сайта, web студия, создание веб сайта, поддержка сайта, сайт на заказ, сопровождение сайта, дизайн сайта, сайт под ключ, заказ сайта, реклама сайта, хостинг, регистрация доменов, хабаровск, краснодар, москва, комсомольск |
 
Поделиться с друзьями: