Файловая структура скрипта

aaachilov

Новичок
Приветствую!
Люди добрые посоветуйте как лучше сделать.

Объясню на примере скрипта переписки пользователей.

Лучше разделять скрипт по файлам например:
- вывод перписки пльзоватлей
- вывод списка пользователей
- вывод результата поиска пользователей
- добаление сообщений
- удаление сообщений
И так далее
В итоге у меня получилось 16 файлов, некоторые из них в несколько строк..

Или лучше все объеденить в один и выполнение нужного участка кода беспечивать проверками?
Что практичнее и быстрее для сервера - подгрузить файл или выполнить несколько проверок?
Заранее спасибо!
 

Sufir

Я не волшебник, я только учусь
Смотря как вы пишите код. Я бы сделал два файла и соответсвенно два класса.

Message с методами
- добаление сообщений
- удаление сообщений

User
- возвращает переписки пльзоватля
- возвращает списка пользователей

Третий файл - index.php (либо контроллер, либо ещё что-то - опять же зависит от вашего стиля и конкретной реализации) в котором вызывается необходимые методы и производится вывод.

100500 файлов создавать не стоит, но и в один файл сваливать - не хорошо. Разделяйте согласно логике и удобству. Чтоб через неделю, если решите что-то поправить или изменит не пришлось ломать голову, где-же у меня это реализовано... Изучайте ООП и MVC.
 

Sufir

Я не волшебник, я только учусь
Грубый пример:
PHP:
// message.php -------------------------------------------------------------
function getMessages(){
    // Запрос к БД и возвращение сообщений
}

function addMessages( $mes ){
    // добавление сообщений
}

// user.php -------------------------------------------------------------
function findUser( $query ){
    // поиск пользователя
}

// index.php -------------------------------------------------------------
if ( request['find'] ) {

  include "user.php";
  $findedUsers = findUser( request['query'] );
  // foreach ( $findedUsers и т.д.

} else if ( request['add_mes'] ) {

  include "message.php";
  addMessages( request['new_mes'] );
  //echo 'Сообщение отправлено и т.д.

}
Пример очень-очень грубый конечно. От include нужно избавиться - этим автолоадер должен заниматься и конструкции вида if ( request['find'] ) попахивают говнокодом, но общая суть видна...

А вообще, конечно, проектирование приложения - это один из самых сложных и спорных моментов.
 

aaachilov

Новичок
Разделил на 4 файла.
1. индекстный - формирует сраницу с сообщениями
2. для работы при отключенном js (он почти не понадобится никогда) - удаление,добавление с редиректом на себя
3. методы для ajax запросов - удаление, добавление
4. выборка для ajax запросв - сообщения,список пользоваелей, поиск пользователей

Обманул - ещё файл с javascript
 

Absinthe

жожо
В файле не должно быть больше ~500 строк. Каменты/пустые не считаем.
Все кроме картинок/js/css/аплоада должно находиться выше документ рута.
Каждый шаблон в отдельном файле(шаблоны не куски верстки, а с логикой отображения и т.д.).
 
Сверху