Создание теста на php

Создание теста на php

БлогNot. Пишем простой тест на PHP

Пишем простой тест на PHP

Этот учебный скрипт на PHP показывает, как можно описать некий тест в виде единственного массива вопросов и ответов. Поскольку типов вопросов может быть несколько (выбор "да"-"нет", выбор одного из нескольких вариантов, ввод числа или строки в качестве ответа), нам понадобится не просто массив, а массив массивов, каждый элемент которого будет описывать всё, что нужно для вывода и проверки очередного вопроса. Это будут записи со следующими ключами:

  • ‘q’ — отображаемый текст вопроса;
  • ‘t’ — тип вопроса, соответствующий нужному тегу HTML: ‘checkbox’ для галочек "да/нет", ‘text’ для строки или числа в качестве ответа, ‘select’ — для списка, в котором нужно выбрать одно значение из нескольких. Выбор более одного значения реализуем придуманным нами элементом ‘multiselect’ , представляющим из собой группу вместе обрабатываемых checkbox’ов. На самом деле, стандартный список с атрибутом multiple тоже позволяет решить эту задачу, но не хотелось бы загружать пользователя необходимостью помнить, что множественный выбор из списка делается при зажатой клавише Ctrl;
  • ‘a’ — правильный ответ, для checkbox это значение ‘1’ или ‘0’ (нужно ли включать галочку), для text — строка с ответом (длину поля будем генерировать равной длине строки с правильным ответом, так что контроль лишних разделителей и проч. опустим), для select — номер варианта в списке, который является правильным ответом (варианты нумеруются с нуля!), для multiselect — строка из единиц и нулей, разделённых символом " | ", показывающая, какие по порядку чекбоксы нужно включить, а какие не нужно;
  • ‘i’ — элементы списка, нужные только для типов вопроса select и multiselect , значение содержит строки, разделённые символом " | " (элементы списка или варианты утверждений).
Читайте также:  Элантра или церато 2017 что комфортнее

За каждый правильный ответ, в том числе, выбор всех "правильных" чекбоксов в ‘multiselect’, будет начисляться 1 балл, а в конце скрипт выдаст резюме о количестве и проценте правильных ответов.

В отличие от простого конвертера, в этом скрипте мы не ставили задачи сохранить пользовательский ввод, поэтому ссылка "Ещё раз!" на странице с результатами позволяет просто пройти тест повторно, введя все результаты и отметив все чекбоксы заново. Несмотря на это, программке понадобилось 2 дополнительных функции:

  • error_check проверяет, всё ли хорошо с очередным элементом массива $test , и, если что-то не так, завершает выполнение скрипта. Это может пригодиться при отладке;
  • strlwr_ переводит в нижний регистр строки, введённые пользователем в качестве ответов. Предполагается кодировка Windows-1251, но можно, конечно, вставить текст скрипта в файл с другой кодировкой и поменять мета-тег кодировки в заголовке.

Вот полный исходник приложения, содержащий тест всех 4 типов вопросов:

Ниже показан вид теста и результат его прохождения.

Скрипт-пример в работе

тайминг разработки (от и до, грязного времени около недели, а чистого около 4-5 часов):

— на набросок архитектуры ушло минут 30-40:
— набросок выкинул (делаю один конкретный тест, зачем создавать кучу таблиц и универсальное решение?);
— за 1 час 15 минут запрогал тест (выводятся вопросы, считаются результаты и выводятся);
— потом решил, что хорошо бы результат можно было сохранять в базу (еще 1 час, начал вывод делать красивым);
— потом еще 2 часа ушло на украшательства, починку выявленных багов при украшательстве и заливку на хостинг;

Сначала нужно в чем-то хранить список вопросов теста. Разместил список вопросов в массив.

Затем создал массив с темами (с типами интересов — их 29).

Читайте также:  Sdhc micro sandisk ultra 64gb

Не секрет, что работа программиста высоко оплачивается. Но конкуренция за вакантные места высокая. Особенно ценны работники с уже готовым опытом, который они могут подтвердить.

PHP онлайн тесты оценивают знания кандидатов программирования на языке PHP и их возможности использовать широко используемые в этом языке возможности.

Тест по PHP — это идеальная оценка для скрининга до работы. Хороший PHP-разработчик должен иметь возможность не только решать проблемы с использованием PHP в качестве языка программирования, но и точно понимать, когда и в каких случаях использовать его богатый набор встроенных функций и других возможностей языка.

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

Если программист хочет устроиться на работу по специальности, прохождение тестирования станет его преимуществом среди других кандидатов на должность.

Хотя язык PHP нельзя назвать сложным, всё-таки он требует понимания многих нюансов работы с ним, освоения функционирования классов, фреймворков.

Также PHP тестирование поможет оценить реальный уровень знаний программиста. Наличие в портфеле соискателя нового места работы успешно пройденных тестов значительно упростит прохождение собеседования, а HR менеджер сможет понять, что перед ним находится специалист, который готов постоянно совершенствовать свои навыки кодинга.

На собеседованиях часто задают вопросы про знания и понимание объектно-ориентированного программирования, наследования интерфейсов, абстрактных классов, что позволят с высокой точностью выявить опыт соискателя.

Поэтому прохождение PHP тестирования поможет в решении многих вопросов и придаст дополнительную уверенность кандидату при прохождении собеседования.

Ссылка на основную публикацию
Снять пароль с роутера tp link
Домашняя беспроводная сеть Wi-Fi должна быть защищена паролем. Но ведь бывают разные случаи, скажете вы. Например, вы хотите пригласить друзей...
Скопировать контакты с андроид на компьютер
Мы уже рассказывали о том, как скопировать контакты со смартфона на смартфон. Но иногда проще перебросить контактную книгу на компьютер....
Скопировать строку таблицы значений 1с в другую
Не претендуя на полноту описания функций и методов работы с таблицей значений 1с привожу некоторые аспекты, которые в своё время...
Снять пароль с макроса excel
Здравствуйте, друзья! Последние дни бился над такой задачей: Имеется файл .xls, в нем макрос на VBA, защищенный паролем. Файл создается...
Adblock detector