Объединенный Открытый Проект - Сайт для Настоящих Компьютерщиков

Объединенный Открытый Проект

Сайт для Настоящих Компьютерщиков

; Логин:
  Пароль:
Обычный
Безопасный
Запомнить пользователя



Зарегистрироваться
Забыли пароль?
 
 
 
Объединенный Открытый Проект »   XXXX Pro's PHP Developer Kit »   Документация по XPDK »   Модульный принцип и выполнение действий в XPDK
RSS

Модульный принцип и выполнение действий в XPDK

Автор статьи: XXXX Pro
Первоисточник: Объединенный Открытый Проект


Практически все современные достаточно круп­ные программы пишутся по модульному принципу. Его использование позво­ляет во-первых, добиться лучшей организации кода, во вторых, уменьшить за­траты времени на обработку PHP-скрипта сервером, а в третьих – использование модульного принципа существенно облегчает разделение труда при работе команды разработчиков. Соответственно, возникает вопрос: как именно указывать, какой модуль следует подключить.
В XPDK эта проблема может быть решена двумя способами: простое решение – это указывать нужный модуль через переменную m в параметрах запроса. Но такое решение накладывает достаточно жесткие ограничения на расположение файлов программы: все модули должны храниться в том же самом каталоге, что и основной выполняемый файл, так как переменная m фильтруется средствами самого XPDK на наличие символов / . \ для избежания include-bugs, а все вспомогательные файлы (например, конфигурационные) – в подкаталогах.
Второй вариант - подключение модулей выполняется разработчиком программы самостоятельно в основном скрипте. Это снимает все ограничения, но при этом желательно выполнять функцию unset на $_GET['m'] и $_POST['m'].

Все конкретные действия выполняемые скриптами в XPDK-программах следует реализовывать в виде отдельных функций. Имя вызываемой функции передается в XPDK через переменную a, после чего осуществляется вызов соответствующей функции с помощью call_user_func. При этом такие функции не должны иметь параметров, так как call_user_func не указывает каких-либо параметров при вызове из соображений безопасности. (В следующих версиях XPDK для еще большей надежности будет реализована проверка, где именно определена данная функция.) Важным моментом является то, что обработка формы производится той же функцией, что и ее генерация (проверка того, что именно требуется сделать - генерацию или обработку, рекомендуется производить с помощью функции is_submitted).



Текущий рейтинг темы: Нет


Быстрый переход в раздел:


Время выполнения скрипта: 0.0323. Количество выполненных запросов: 13, время выполнения запросов 0.0084