Вопрос о дизайне музыкального онлайн-приложения на php и mysql

#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. Оно маленькое и простое в использовании.