# reaper (05.05.2014 / 19:28)
Лапша. Пробуй еще 
В каком направлении хотя бы пни )
Модель должна оперировать только данными и только 
Почитай про spl_autoload_register(), если найдешь время, то еще и про psr-0 и psr-4
Напиши простенький шаблонизатор, который сам будет заботиться о подгрузке шаблонов.
В идеале контроллер вообще ничего не должен знать о шаблоне, а только возвращать нужные данные и всё.
Хотя это конечно мало где делается, но я так теперь делаю всегда, ибо потом одной строкой в конфиге можно переопределить шаблон или же вообще в json заставить отдавать.
И лезть при этом в код котроллера уже буде ненужно.
Вот у тебя в контроллере есть следующее:
$fp = fopen($data, 'r');
while (!feof($fp)){
$str1 = fgets($fp, 4096);
$arr = explode('|', $str1);
if ($arr[3] == $msg){
$_SESSION['err'][2] = 'Такое сообщение уже есть в базе!';
break;
}
}
fclose($fp);
if (empty($_SESSION['err'][2])){
unset($_SESSION['time']);
file_put_contents($data, $str, FILE_APPEND);
$_SESSION['time'] = time();
}
Почему это вообще в контроллере, когда операции по работе с файлом дожны быть в модели?
А когда базу будешь юзать, то запросы к ней тоже в контроллере писать будешь?
Вобщем ты всё перепутал.
Модель:
getData()
setData()
isDataExists()
// etc...
Вид (У меня это обычно просто шаблон):
<p>{{ data }}</p>
Контроллер:
data = model->getData()
handle_data(data)
view->load('view', data)
После того, как разберешься с лапшой, попробуй сделать так, как я говорил выше. Контроллер только возвращает данные, а уже на основе конфига эти данные отдаются либо в html, либо в json
# reaper (05.05.2014 / 19:42)
Модель должна оперировать только данными и только 
Почитай про spl_autoload_register(), если найдешь время, то еще и про psr-0 и psr-4
Напиши простенький шаблонизатор, который сам будет заботи
Я изначально хотел этот код в модели прописать, но не могу понять: как связать эту проверку, если она должна выполняться перед записью в файл? А если запись в файл у меня в контроллере, то её надо в модель перенести? Что тогда должно остаться в контроллере? Только приём данных от пользователя и редирект на модель, а модель - на визуализацию?