Дратути Уважаемый! Можете ли вы поэтапно и кратко описать как писать код для MVC? Например: 1.создать три папки index.php,m.php,v.php,c.php 2...... Я не прошу готовый код я хотел бы сам его написать а не переписывать чужой. Заранее благодарю!
модель - это то что у вас с базой работает.. есть таблица в базе members - сделайте класс member и работайте с этой таблицей. контроллер это то месте где ловите гет и пост запросы и вызываете модель что бы что то сделать с базой.. представление это то - куда вы отправялете добро полученное в контроллере) структура директорий может быть такая model controller view index.php index.php - это единая точка входа.. --- Добавлено --- да.. еще нужна папка куда роутинг положить можно будет.. конфиги..
Я кстати пока ждал ответов написал немного кода MVC в моем(пока что ) поверхностном понимании,без подключения к базе данных и без ООП (тоесть просто написал так как примерно понимаю реализацию MVC чисто для себя). Не могли бы вы взглянуть одним глазком на код и сказать понимаю ли я вообще хотя бы ка-то структуру MVC или все что я написал и близко на это не похоже? В любом случае спасибо вам большое за уже уделенный мне ответ! Ссыль: github.com/Anonystus/Simple-MVC-for-studying .
https://github.com/Anonystus/Simple-MVC-for-studying/blob/master/controller.php - здесь не должно быть html, если в это контроллером называете. От слова "вообще". https://github.com/Anonystus/Simple-MVC-for-studying/blob/master/view.php - здесь не должна стартовать сессия. Здесь должен быть исключительно html и инструкции вывода. Вообще, возьмите реальную задачу какую-нибудь, на ней тренируйте своё MVC. Вот, к примеру: https://php.ru/forum/threads/kak-bystro-osvoit-php.52331/#post-419213 --- Добавлено --- https://github.com/Anonystus/Simple-MVC-for-studying/blob/master/index.php#L6 - ой, вот это уже просто бред. Какая переадресация? Вы чего? Просто включаете файл нужного контроллера в простейшем случае.
лучше поищите другой пример)) это плохой)) у нас тут есть тема с тестовым заданием)) https://php.ru/forum/threads/kak-bystro-osvoit-php.52331/ вот я делал https://github.com/kak2z7702/test_php_ru в теме есть другие решения.. там видно как реализуется вход через один файл.. как подгружается вьюха и туда данные передаются готовые... правда там контроллер и модель смешаны)) но на это не смотрите)) и да.. там на функциях все.. городить классы в небольшом приложении я не увидел смысла)
@Алекс8 в твоем весь index можно подлатать dirname(__FILE__) - устарел ini_set('display_errors', 1); - не нужен define - обычный: const ONE = 1, TWO = 2, ...
Спасибо за подсказки и конструктивную критику! Cтруктуру я реализовал неправильно,исходя из того что вы сказали понял что надо было сделать выбор контроллера и запрос в файл index.php который потом обращался в controller.php который потом идет к main.php(который отвечает контроллеру) и после controller.php(с ответом от main.php)->view.php после view.php->controller.php(со своим ответом который динамически сгенерирован в html-коде со статикой) а controller.php->index.php с ответом от view.php.Извиняюсь за такой поток однотипных слов))))) Но ответьте правильно ли я вас понял? В контроллере не должно быть html-а за это извиняюсь(свою ошибку благодаря вам я понял) За локальную переадрисацию через header() тоже извиняюсь здесь я и вправду дико ступил. За то чтобы тренироваться с моим шаблоном MVC,я считаю что должен максимально качественно написать MVC(с ООП,подключением к ДБ,и без говнокода как сейчас) а вот после уже практика. Тот код который вы видели я быстренько накидал чисто для себя чтобы понять понимаю ли я хоть что-то в структуре MVC. Благодаря таким как вы новички вроде меня учатся на вашем опыте. Благодарю за уделенное время! Кстати о задаче линк на которую вы мне кинули я уже написал нечто подобное https://github.com/Anonystus/Registration но без разлогирования и кнопки(мой код не был попыткой реализации данной задачи) но как это реализовать я знаю(В первом случае просто убиваем сессии и куки) (во втором создаем поле в ДБ и при каждом нажатии добавляем +1). --- Добавлено --- О задаче линк на которую вы мне кинули я уже написал нечто подобное https://github.com/Anonystus/Registration но без разлогирования и кнопки(мой код не был попыткой реализации данной задачи) но как это реализовать я знаю(В первом случае просто убиваем сессии и куки) (во втором создаем поле в ДБ и при каждом нажатии добавляем +1). После грамотной реализации MVC пройду данный тест! Благодарю вас за потраченное на меня время!
Ну вот и перепишите теперь на mvc это дело. Чтоб я в этом что-то понял )) index кидает на нужный контроллер, контроллер вызывает нужную модель для получения данных, и передаёт эти данные view, которая формирует вёрстку. Возвращать эту вёрстку или сразу вывести - решаете уже вы от сложности задачи.
Да именно так я и понял! Спасибо за потраченное на меня время! --- Добавлено --- Извините а где вы увидели этот код? Я его сегодня писал в index.php но потом удалил и перезаписал o_0 --- Добавлено --- Извините а где вы увидели этот код? Я его сегодня писал в index.php но потом удалил и перезаписал o_0