PHP: наследование логическое (расширяется) - PullRequest
0 голосов
/ 14 ноября 2010

Это может звучать как не связанный вопрос кодирования, но это напрямую связано:

Факты: Я разработал сайт (с Symfony), который позволяет игрокам искать команду (например, доску объявлений). Это делает только один модуль.

Проблемы Я хочу, чтобы сайт был еще более точным и создавал индивидуальную форму для каждого игрока в зависимости от игры (например, для тех, кто играет в «Лигу легенд»), у них будет 3 больше информации, чтобы заполнить ....)

Решения?

В настоящее время я разрабатываю 1 модуль для каждой игры, чтобы учесть конкретные критерии для конкретных игр.

Преимущества: Игрок вводит информацию относительно своей игры и не видит / не взаимодействует с другими критериями

Disavantages: 90% кода одинаковы для каждого модуля. Это займет больше времени.


  • Наследование

Я никогда не играл с этим раньше, поэтому я не знаю, возможно ли в моем случае использовать 1 модуль для всей коллекции игр И с учетом конкретных критериев для игр. В этом случае это означало бы иметь по 1 шаблону на игру и отображать правильный шаблон с правильными средствами доступа, такими как ($this->getCV()->getPseudo(); / $this->getCV()->getGame()->getSpecificCriteria1();)

1 Ответ

1 голос
/ 14 ноября 2010

Если я правильно прочитал ваш вопрос, вы хотите показать дополнительные поля для каждой конкретной игры.

Раствор 1

Создать процесс 2 формы. После первой формы вы можете перенаправить пользователя ко второй форме, которая зависит от его ответов. Для этого в первой форме используйте перенаправление, чтобы отправить пользователя во вторую форму, относящуюся к игре.

Раствор 2

Передайте название игры в шаблон и покажите настраиваемый фрагмент для дополнительных полей формы. Для этого вам понадобится URL с таким игровым параметром, как этот:

www.example.com / форма / шоу /: game_identifier

Затем в вашем действии прочитайте параметр и передайте его вашему шаблону. В шаблоне покажите частичную зависимость от пройденной игры. Так что показывайте дополнительные поля только в том случае, если перед раздачей была выбрана конкретная игра.

Существуют и другие способы достижения этой цели, но эти два возникли в первую очередь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...