структура страницы "сделай все" и вещи, на которые стоит обратить внимание? - PullRequest
3 голосов
/ 09 апреля 2010

Я все еще не могу устоять в PHP (мой первый язык), и я достиг уровня компетенции, где я могу кодировать одну страницу, которая обрабатывает все виды различных связанных запросов. Они обычно имеют такую ​​структуру:

(код псевдо)

<?php
include 'include/functions.php';
IF authorized

  IF submit (add data)
  ELSE IF update (update data)
  ELSE IF list (show special data)
  ELSE IF tab switch (show new area)
  ELSE display vanilla (show default)

ELSE "must be registered/logged-in"

?>
<HTML>
  // snip
  <?php echo $output; ?>
  // snip
</HTML>

и все это работает хорошо и довольно быстро, что круто. Но я все еще чувствую свой путь в темноте ... и хотел бы получить некоторую информацию от профессионалов относительно этого типа дизайна страницы ...

  • это хорошая долгосрочная структура? (кажется, легко расширяется ...)
  • Существуют ли угрозы безопасности, характерные для данной конструкции?
  • есть ли углы, в которые мне следует покрасить себя?

Просто любопытно, что нас ждет впереди, правда ...

Ответы [ 2 ]

5 голосов
/ 09 апреля 2010

Этот дизайн - то, к чему стремятся стартеры, когда они немного продвигаются. Я пошел тем же путем, когда index.php был одним большим оператором SWITCH, вызывающим соответствующие функции и шаблоны на основе URL-адреса и параметров. Это очень простой шаг к дизайну MVC.

Я предлагаю вам начать расширять свои знания в этом направлении. Читайте больше о том, что такое MVC (Model-View-Controller), как его создать и поддерживать. Тогда вас может заинтересовать эксперимент с некоторыми средами MVC, такими как CakePHP, CodeIgniter, Kohana ...

Вот несколько статей для вас:

Что такое MVC?

MVC для нубов

CodeIgniter

1 голос
/ 09 апреля 2010

Ответить вам:

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

Предложения от Иво - хороший материал для чтения перед сном.

Я бы также добавил (по мере роста):

  • Вам нужно разбить свои функции на логические группы файлов.
  • То же самое для HTML
  • Можно иметь несколько файлов больше, чем сгибать один файл главного контроллера, чтобы удовлетворить все ваши потребности
  • Обработка форм, особенно загрузка файлов, иногда требует специальной обработки
  • Обработка Ajax иногда требует специальной обработки
  • Хранение файлов и баз данных
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...