Я написал небольшое приложение PHP, которое я хотел бы распространять. Я ищу лучшие практики, чтобы его можно было установить на большинстве веб-хостов с минимальными проблемами.Распространение небольшого PHP-приложения
Вкратце: это простой инструмент, который позволяет людям скачивать файлы после входа в систему с паролем.
Так что мои вопросы:
1) Как я должен обрабатывать значение конфигурации? Я не использую базу данных, поэтому файл конфигурации кажется подходящим. Я знаю, что другие приложения php (например, Wordpress) используют, но они глобальны, и существует вероятность, что имена конфликтуют. (Очевидно, что глобальные переменные также имеют одинаковую проблему). Я посмотрел на файловый механизм «ini», встроенный в PHP. Он позволяет добавлять комментарии только вверху, поэтому вы не можете легко комментировать все настройки, и вы не можете проверить синтаксис с помощью «php -f». Другие варианты?
2) Как обращаться с шаблонами? Приложение должно выкачать форму. Возможно с сообщением об ошибке. (например, «Извините, неверный пароль».) У меня есть переменная класса с формой HTML, но также разрешено использовать внешний файл шаблона (указанный в конфиге). Я делаю некоторые тривиальные поиска и замены - например, % SCRIPT% на имя скрипта,% STATUS%, чтобы удерживать сообщение об ошибке. Это немного похоже на переосмысление колеса, но в том числе система шаблонов, такая как Smarty, переполнена. (Плюс у них уже может быть система шаблонов.) Другие варианты?
3) i18n - Есть только 3 строки сообщений, и gettext, похоже, не устанавливается повсеместно. Разве это такая плохая идея просто сделать эти три параметра строки в файле конфигурации?
4) Как лучше всего интегрироваться с другими системами? Мое приложение - это один класс. Итак, я думал, что могу просто включить php-скрипт, который показал, как был вызван класс. Это было бы отправной точкой для людей, которые должны были интегрировать их в другую структуру, но также быть в порядке, как и для тех, кто не заинтересован в настройке. Разумно?
5) Параметры GET/POST - это плохая форма для класса, чтобы смотреть на $ _GET и $ _POST? Должны ли все ценности быть переданы в мой класс во время строительства?
Спасибо.
Мне нравится этот стиль конфига! Я собираюсь попробовать это прямо сейчас. – 2008-11-13 00:52:42