Функции Язык программирования PHP

get_defined_vars

(PHP 4 >= 4.0.4)

get_defined_vars - возвращает массив из всех определённых переменных.

Описание

array get_defined_vars (void)

Эта функция возвращает многомерный массив, содержащий список всех определённых переменных: окружения, серверных и пользовательских.
$b = array(1,1,2,3,5,8); 
$arr = get_defined_vars(); // печатать $b print_r($arr["b"]); // печатать путь 
к интерпретатору PHP (если используется как CGI) // т.е. /usr/local/bin/php echo 
$arr["_"]; // печатать параметры командной строки, если они имеются print_r($arr["argv"]); 
// печатать все серверные переменные print_r($arr["_SERVER"]); // печатать все 
доступные ключи массивов переменных print_r(array_keys(get_defined_vars()));

См. также get_defined_functions() и get_defined_constants().


Назад Оглавление Вперёд
floatval Вверх get_resource_type

Дизайн БД

Первый шаг - это всегда создание БД, если только вы не хотите использовать готовую БД стороннего производителя. Когда БД создаётся, она назначается пользователю, который выполняет оператор создания. Обычно только владелец/owner (или superuser) может выполнять действия с объектами в БД, а чтобы и другие пользователи могли пользоваться этой БД, необходимо дать привилегии доступа.

Приложения никогда не должны соединяться с БД как её owner или superuser, поскольку эти бюджеты могут выполнять любой запрос, модифицировать схему (например, стереть таблицы) или удалять всё содержимое полностью.

Вы можете создать различных пользователей БД для каждого аспекта вашего приложения с ограничениями на использование объектов БД. Нужно давать только самые необходимые привилегии и необходимо исключать возможность работы с БД одного пользователя в разных вариантах использования. Это значит, что, если взломщик получает доступ к вашей БД с использованием одних привилегий, он сможет делать все изменения, какие только можно сделать ваше приложение.

Мы советуем не реализовывать всю бизнес-логику в web-приложении (т.е. в ваших скриптах), а использовать для этого схему БД с триггерами, просмотрами или правилами. Если система разрастается, понадобятся новые порты для БД, и вы должны будете заново реализовывать всю логику для каждого отдельного клиента БД. Вместо этого, можно использовать тригеры для прозрачной и автоматической обработки полей, что часто необходимо при отладке ваших приложений или при трассировке отката транзакций.