Гость
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Реализация PHP класса / 9 сообщений из 9, страница 1 из 1
05.04.2018, 15:53
    #39626183
Stang
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация PHP класса
Понимаю, что хочу слишком много, но может все же кто подскажет куда копать, не могу просто даже суть уловить.
Нужно реализовать класс в виде блока: Текст и варианты ответов, по нажатию варианта ответа будет появляться новый блок и нужна функция возвращения назад на один шаг.
Вот как? Данные буду хранить в бд: первая таблица с самим блоком, вторая с вариантами ответов, с связью один к многим. С БД в принципе разберусь, а вот как реализовать блок?
Может кто ткнет меня в пример? Или направить где читать? На HTML и JavaScript я нечто подобное реализовал, но мне не нравится функционал JavaScript, да и хочу в БД хранить данные, а не на странице.
...
Рейтинг: 0 / 0
05.04.2018, 22:37
    #39626425
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация PHP класса
Stang,

о чём речь вообще? Блок чего? Ответы на что?
...
Рейтинг: 0 / 0
06.04.2018, 07:29
    #39626480
Stang
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация PHP класса
skyANA,
Нечто подобное опроснику. Есть вопрос и есть варианты ответов. В зависимости от ответа переходит на следующий вопрос. Нечто на подобие дерева. И вот не могу придумать как создать класс.
Количество ответов может быть разным, и нужен вариант возврата к предыдущему вопросу.
Как я себе представил, то нужен подкласс варианта ответа, и родительский класс вопрос. К сожалению в ООП не очень, а без него вижу все сплошным потоком.
Вот так реализовано на HTML, приблизительно:
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>Список</title>
 </head>
 <body>

   <div>
   <ul>
     <li><a href="URL">Чебурашка</a></li>
     <li><a href="URL">Крокодил Гена</a></li>
     <li><a href="URL">Шапокляк</a></li>
     <li><a href="URL">Крыса Лариса</a></li>
   </ul>
   </div>

   <div>
   <ul>
     <li><a href="URL">Чебурашка 1</a></li>
     <li><a href="URL">Чебурашка 2</a></li>
     <li><a href="URL">Чебурашка 3</a></li>
     <li><a href="URL">Чебурашка 4</a></li>
   </ul>
   </div>

   <div>
   <ul>
     <li><a href="URL">Крокодил Гена 1</a></li>
     <li><a href="URL">Крокодил Гена 2</a></li>
     <li><a href="URL">Крокодил Гена 3</a></li>
     <li><a href="URL">Крокодил Гена 4</a></li>
   </ul>
   </div>

   <div>
   <ul>
     <li><a href="URL">Шапокляк 1</a></li>
     <li><a href="URL">Шапокляк 2</a></li>
     <li><a href="URL">Шапокляк 3</a></li>
     <li><a href="URL">Шапокляк 4</a></li>
   </ul>
   </div>


 </body>
</html>
...
Рейтинг: 0 / 0
06.04.2018, 08:17
    #39626492
Stang
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация PHP класса
Но так получается слишком много. И возможности JavaScript мне не хватает, в PHP лучше реализация переменных и их обработка.
...
Рейтинг: 0 / 0
06.04.2018, 09:38
    #39626551
Alibek B
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация PHP класса
Программирование на клиенте и на сервере совершенно различаются по подходам.
...
Рейтинг: 0 / 0
06.04.2018, 09:42
    #39626555
Руслан Дамирович
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация PHP класса
StangНо так получается слишком много. И возможности JavaScript мне не хватает, в PHP лучше реализация переменных и их обработка.
Вашей квалификации недостаточно, чтобы разбрасываться такими утверждениями.

1. HTML + JS - это отображение содержимого пользователю и управление содержимым на стороне клиента.
Вам нужен Accordion или несколько Select. JS при изменении будет подгружать в следующий этап данные в зависимости от предыдущего (AXAJ).
Вариант №1. Загрузить все возможные сочетания заранее.
Вариант №2. Загружать данные этапа по мере перехода между ними.
2. PHP - используется как прослойка между БД и UI, достаточно часто на нем реализуют бизнес логику. Почти всегда - авторизацию.
Здесь вам нужно будет организовать разбор параметров ($_POST/$_GET), бизнес-логику (загрузить варианты, сохранить выбор) и формат ответа (XML/JSON)
3. БД. Хранит данные. Иногда логику реализуют в БД.
Здесь вам нужна будет таблица(ы) для организации зависимых списков. Можно сделать одну (question_id, parent_id) или две (question_id & parent_id, child_id)

И вообще, вам за этим стоит пойти в раздел "Разработка".
А если мой ответ вызывает у вас только "WTF?" или сроки поджимают, то и в раздел "Работа".
...
Рейтинг: 0 / 0
06.04.2018, 11:05
    #39626636
Stang
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация PHP класса
Как реализовать, я в принципе уже себе нарисовал, мне нужно понять только как реализовать класс, с чего начать.
Исходя из своих малых познаний на Java:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
// описываем класс
class Circle {
    // свойства класса
    public String Block; // Вопрос, который берем из БД
    public String varriant; // Вариант ответа
    public String varriant1; // Вариант ответа
    public String varriant2; // Вариант ответа
    // методы класса
    // выводиv на экран блок
    public void printBlock() {
        System.out.println(Block+varriant+varriant1+varriant2);
    }    
}


Понятно, это упрощенно, но в таком виде мне и нафиг не нужно. Как реализовать варианты ответа? Ведь для одного вопроса их будет два, а для другого пять? Как реализовать в классе возврат назад?
...
Рейтинг: 0 / 0
06.04.2018, 11:23
    #39626661
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация PHP класса
вопрос - это одна абстрактная сущность = 1 класс
ответ - отдельная сущность = 1 класс
связь между ними, как вы уже заметили 1 ко многим.
Вывод: нужно 2 класса
...
Рейтинг: 0 / 0
06.04.2018, 11:26
    #39626667
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация PHP класса
Так как класс нужно проецировать на БД, думаю будет удобнее реализовать сразу в виде сущности какой-либо ORM, например -
Doctrine.
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Реализация PHP класса / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]