albatros88
Новичок
Здравствуйте, прошу помощи по следующей проблеме...
В целях изучения ООП и паттерна проектирования MVC решил создать сайт с использованием этих технологий. Информации в интеренете полно, но....никак не могу разобраться в некоторый нюансах. Принципы MVC кажется понял....Контроллер реагирует на действия пользователя, принимает некие данные, компонует их и передает в модель, а модель в свою очередь их обрабатывает(сохраняет в базе, достает оттуда и прочее), а результат должен отразится в шаблоне, в котором чистый html с минимальным количеством логики. Стремиться нужно к тонкому контроллеру и толстой модели.
Есть следующая структура:
[/URL][/IMG]
[/URL][/IMG]
Есть файл controller/main.php - в нем описан класс контроллера main. Модель в model/main.php - описан класс модели. И соотвtтственно шаблон - view/main.tpl.
Есть одна точка вхождения index.php и все запросы адресуются именно на него. Там же и создается екземпляр класса и вызывается его метод, который собирает страничку по частям.
В шаблоне есть форма, я отправляю ее аяксом используя jQuery. В нетворке видно, что запрос идет. Как мне принять и обработать эту форму?
На форумах пишут, что это нужно делать в контроллере....НО КАК?? Ведь в контроллере у меня описан класс(!!!), допустим я могу написать метод в этом классе, который и будет обрабатывать данные....но ГДЕ мне вызывать этот метод, в каком месте, в каком файле?? Ведь в файле-контроллере должен быть только класс, верно?? Как это сделать так, чтоб это было правильно и вписывалось в концепции MVC и ООП ??
И еще, когда я оправляю форму на index.php, то в ответ приходит вся html страница, почему так?? Я создал отдельный файл controller/ajax_form.php и начал отправлять форму на него, а сам этот файл подключил инклюдом в index.php после создания екземпляра класса и все стало нормально, но я сомневаюсь, что это правильно с точки зрения MVC. или я ошибаюсь?
Так же заметил такую штуку...
В controller/ajax_form.php пишу следующее:
А в блоке success:
И в алерте выводится имя, введенное в форме, т.е. все ок.
Но при этом в controller/ajax_form.php:
Как такое может быть. Помогите разобраться, кто чем может)) спасибо.
В целях изучения ООП и паттерна проектирования MVC решил создать сайт с использованием этих технологий. Информации в интеренете полно, но....никак не могу разобраться в некоторый нюансах. Принципы MVC кажется понял....Контроллер реагирует на действия пользователя, принимает некие данные, компонует их и передает в модель, а модель в свою очередь их обрабатывает(сохраняет в базе, достает оттуда и прочее), а результат должен отразится в шаблоне, в котором чистый html с минимальным количеством логики. Стремиться нужно к тонкому контроллеру и толстой модели.
Есть следующая структура:
![](/talk/proxy.php?image=http%3A%2F%2F%5BURL%3Dhttp%3A%2F%2Fradikal.ru%2Ffp%2Facaee113bd0e464b8da4f1977ee69888%5D%5BIMG%5Dhttp%3A%2F%2Fs020.radikal.ru%2Fi707%2F1504%2Fb6%2F0b227af795eat.jpg&hash=1b5643b9d6360ae300e004ca9b7d0554)
![](/talk/proxy.php?image=http%3A%2F%2F%5BURL%3Dhttp%3A%2F%2Fradikal.ru%2Ffp%2Facaee113bd0e464b8da4f1977ee69888%5D%5BIMG%5Dhttp%3A%2F%2Fs020.radikal.ru%2Fi707%2F1504%2Fb6%2F0b227af795eat.jpg&hash=1b5643b9d6360ae300e004ca9b7d0554)
![](/talk/proxy.php?image=http%3A%2F%2Fs020.radikal.ru%2Fi707%2F1504%2Fb6%2F0b227af795ea.png&hash=51ad9f672b8cac4f14328fb27047d36d)
Есть файл controller/main.php - в нем описан класс контроллера main. Модель в model/main.php - описан класс модели. И соотвtтственно шаблон - view/main.tpl.
Есть одна точка вхождения index.php и все запросы адресуются именно на него. Там же и создается екземпляр класса и вызывается его метод, который собирает страничку по частям.
В шаблоне есть форма, я отправляю ее аяксом используя jQuery. В нетворке видно, что запрос идет. Как мне принять и обработать эту форму?
На форумах пишут, что это нужно делать в контроллере....НО КАК?? Ведь в контроллере у меня описан класс(!!!), допустим я могу написать метод в этом классе, который и будет обрабатывать данные....но ГДЕ мне вызывать этот метод, в каком месте, в каком файле?? Ведь в файле-контроллере должен быть только класс, верно?? Как это сделать так, чтоб это было правильно и вписывалось в концепции MVC и ООП ??
И еще, когда я оправляю форму на index.php, то в ответ приходит вся html страница, почему так?? Я создал отдельный файл controller/ajax_form.php и начал отправлять форму на него, а сам этот файл подключил инклюдом в index.php после создания екземпляра класса и все стало нормально, но я сомневаюсь, что это правильно с точки зрения MVC. или я ошибаюсь?
Так же заметил такую штуку...
В controller/ajax_form.php пишу следующее:
PHP:
if (isset($_POST['name'])) {
echo $_POST['name'];
}
PHP:
alert(response);
Но при этом в controller/ajax_form.php:
PHP:
var_dump($_POST); // выводит NULL.