Ничего себе. Меня постоянно удивляет, сколько людей ненавидят ASP. В приличных руках это отлично способный язык для разработки веб-приложений.
Тем не менее, я признаю, что управление файлами включения в ASP может быть немного затруднительным, потому что (в зависимости от того, как вы их используете) их нужно загружать и анализировать, даже если вы не используете половину функции, содержащиеся в.
У меня, как правило, один включаемый файл (initialise.asp
или что-то подобное), который сам включает ссылки на несколько библиотек функций (lib_http.asp
, lib_mssql.asp
или аналогичные), и все функции библиотеки являются автономными, поэтому не нужно беспокоиться о пересечении переменных. Любые глобальные переменные объявляются и устанавливаются в мастер-файле. Это означает, что я могу использовать функцию в любом месте, в любое время и не беспокоиться о том, где она была определена, она просто предназначена для использования. А IDE, такие как Visual Studio и Primalscript, имеют возможность «переходить к определению», когда вы находите вызов функции, которую вы не можете распознать.
Затем все специфичные для сценария включения включаются в сценарий после вызова этого основного файла включения.
Я допускаю, что это подход, требующий памяти, поскольку все функции во всех библиотеках компилируются для каждого вызова скрипта, поэтому метод нуждается в уточнении для каждого разрабатываемого вами сайта - решите, что вызывать через мастер-включение и что является более специфичным для страницы. Было бы неплохо иметь возможность загружать только то, что вам нужно, но это подход DLL, который недоступен для большинства реальных разработок, а также вам придется взвесить стоимость процессора при компиляции небольших сценариев по сравнению с загрузка компонентов.
Краткая структура каталогов является обязательной и легко разрабатывается, но может оказаться непростой задачей пролистать весь код на существующем сайте и изменить любые ссылки или вызовы mappath. Также имейте в виду, что некоторые администраторы IIS запрещают '..\'
метод обхода каталогов через VBScript, поэтому все ссылки на файлы должны быть абсолютными путями.