Certificationy provides a complete system to build multiple choice question system. This is useful for any company that need to test an applicant, or to make a certification website/training tool.
As usual, use composer to install the library:
composer require "certificationy/certificationy"
Then, you need to load questions using a loader: for now only PhpArray and Yaml loaders are provided, but thanks to the Loader interface you can create your owns.
For instance, let's say you have created a Yaml file with some few questions:
# question.yaml
category: basics
questions:
-
question: '2 + 2 = ?'
answers:
- {value: 4, correct: true}
- {value: 3, correct: false}
- {value: 2, correct: false}
Then you can do:
<?php
use Certificationy\Loaders\YamlLoader;
$loader = new YamlLoader('path/to/question.yaml');
$set = $loader->initSet(1, []); // (nbQuestions, fromCategories)
$loader->categories(); // ['basics']
$questions = $set->getQuestions(); // receives a "Questions" collection with the question
Then, for each question you can set user answers (as answers can be multiple):
<?php
$set->setUserAnswers(0, [4]); // (questionIndex, [values])
At every moment, you can get the correct and wrong answers (non answered questions are wrong).
$set->getCorrectAnswers();
$set->getWrongAnswers();
A CLI tool is available under the following repository: http://www.github.com/certificationy/certificationy-cli.
You can submit PR with your own questions into the packs located under the Certificationy organization.
We provide packs for both PHP5 and Symfony certifications.
As of today (03/04/2017), Certificationy CLI uses Certificationy library
1.x
branch.
More we will have questions, the more powerful will be this tool!