Задачки на PHP

5.13K
.
ДоХтор
Визуализация: (index.php)
код (+/-)
.
ДоХтор
Контроллер: (mybook.php)
код (+/-)
.
Рабочий пример
.
Лапша. Пробуй еще
.
# 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
Напиши простенький шаблонизатор, который сам будет заботи
Я изначально хотел этот код в модели прописать, но не могу понять: как связать эту проверку, если она должна выполняться перед записью в файл? А если запись в файл у меня в контроллере, то её надо в модель перенести? Что тогда должно остаться в контроллере? Только приём данных от пользователя и редирект на модель, а модель - на визуализацию?
Всего: 173