Как структурировать свой проект PHP?

Я собираюсь приступить к еще одному большому проекту PHP. На этот раз я намерен привести папку проекта в порядок! Итак, у меня есть несколько вопросов относительно содержания моего проекта в чистоте и СУХОМ:

  • Как отличить исходные файлы PHP от файлов PHP, к которым должен иметь доступ браузер? Другими словами, как мне прояснить, какие файлы PHP выдают выходные данные, а какие - определения функций или классов?

  • Я планирую разделить свои функции PHP на статические классы, разделенные по темам, например database :: create () или редактор :: write (). Что вы думаете по этому поводу?

  • Я планирую создать файл PHP "core.php", который будет включен в начало КАЖДОГО ОДНОГО файла PHP в проекте. Этот файл будет обрабатывать аутентификацию и включать базовые функции. Мысли?

  • Проект будет в значительной степени основан на Ajax. Возникает вопрос: должны ли мои функции PHP быть реальными функциями PHP или они должны быть отдельными файлами PHP, которые принимают ввод GET или POST? Мой план делает оба . Я создаю папку для исходных файлов PHP и одну для файлов «ajax» PHP (или чего-то еще), и в последнюю папку заполняю имена файлов по функциям, которые они будут выполнять. После этого файл PHP будет просто содержать вызов функции и вывод для Ajax. Мысли?

Любые другие комментарии или советы, прежде чем я начну этот проект, были бы замечательными!


Редактировать

Возможно, я не смог подчеркнуть, насколько сильно будет основано на Ajax это веб-приложение. Codeigniter кажется отличным инструментом для создания веб-страниц или простых веб-приложений, таких как блог. Мое приложение будет немного другим. Как и uTorrent WebUI, мое веб-приложение будет статичным на одной странице, а Ajax будет выполнять все скрытые действия. Использование Codeigniter для такого проекта кажется немного неудобным.

Существует ли другая архитектура, созданная с учетом такого рода приложений?

6
задан Hubro 16 February 2011 в 08:22
поделиться