#php #mysql
#php #mysql
Вопрос:
Я думал об использовании шаблона mvc при разработке этого приложения. Как я могу использовать mvc здесь? Модель будет сохранена в mysql, но каким будет контроллер и каким будет представление здесь?
Комментарии:
1. Выберите PHP framework и прочитайте его документацию. У вас есть по крайней мере одно неправильное представление о том, что такое MVC (модели не «хранятся в mysql»), и, вероятно, их больше.
Ответ №1:
Во-первых: модель не будет храниться в базе данных MySQL — данные будут, а model != database [иногда это очень взаимосвязано, но в целом не равнозначно]. Ваши контроллеры, вероятно, будут обрабатывать такие вещи, как:
- войти
- Выход
- Зарегистрироваться
- выберите альбом
- выберите песню
В качестве представления будет использоваться HTML-страница, но, вероятно, также какое-либо внешнее приложение или встроенный JS, который люди могут размещать на своих страницах.
Комментарии:
1. Томаш, будут ли и просмотр, и контроллер на php?
2. Контроллер, очевидно, будет на PHP — вы отметили им question . ;] Использование PHP в view дает вам возможность использовать более продвинутую логику при его создании. Вы также можете использовать какой-нибудь движок для создания шаблонов, такой как OPT или Twig, но я предпочитаю использовать чистый PHP.
3. Томаш, можешь ли ты дать мне несколько советов о том, как разделить просмотр и контроллер?? в том смысле, что у меня есть a.php скажем, у него есть таблица, подобная отображающей все песни исполнителя, которые вводит пользователь, поэтому a.php метод post должен отправлять запрос на getSong.php (который является контроллером) верно?
4. Поместите контроллер и представление в классы. Создайте экземпляр класса контроллера view one и вызовите из него render(), передавая все данные, которые понадобятся вашему представлению. В методе render require() файл PHP со всем HTML-кодом или вставьте его в файл, а затем отобразите содержимое HTML с данными, сгенерированными PHP, используя данные, переданные из контроллера. Я надеюсь, вы поймете.
Ответ №2:
Пройдите руководство по Zend Framework. Это бесплатно (как и фреймворк) и, вероятно, сэкономит вам много часов времени.
Ответ №3:
MVC — это не просто то, что вы можете использовать в PHP по умолчанию, вам нужен фреймворк. MVC — это сокращение от Model View Controller, который представляет собой стиль разработки веб-приложений, использующий преимущества многоуровневых задач и разделения ваших данных, представлений и серверной обработки. Эти фреймворки для веб-разработки используются при создании веб-сайтов.
Существует множество приложений, среди которых несколько популярных — Zend Framework, CakePHP и Symfony.
Комментарии:
1. На самом деле тривиально легко разделить ваше PHP-приложение на модели, представления и контроллеры без фреймворка. MVC — это просто способ организации ваших файлов.
Ответ №4:
В MVC модель представляет собой класс, который представляет данные, в вашем случае это будет класс, который представляет таблицы в вашей базе данных mysql например, класс Song для таблицы song.
Просмотры — это внешнее представление данных, например, список из десяти лучших песен за данную неделю.
Контроллеры — это программы, которые обрабатывают запрос пользователя и собирают данные из разных моделей, а затем перенаправляют ваш запрос в определенное представление.
Вы можете создать свой фреймворк mvc из scretch, если хотите, но я рекомендую вам использовать фреймворк с открытым исходным кодом.
Я использую фреймворк CodeIgniter для проектов MVC на PHP. Оно маленькое и простое в использовании.