The core library to create tests and certifications
Branch: master
Clone or download
Latest commit cd6a7f1 Jun 3, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
src [Issue CLI #47] Small fixes on the loader Jul 31, 2017
tests Fixed Helpable questions May 2, 2017
.gitignore Removed .idea form .gitignore Apr 3, 2017
.travis.yml Removed Vincent from notifications Mar 26, 2017 Updated Mar 13, 2017
LICENSE Add missing LICENSE file Jun 14, 2014
composer.json Update composer.json Jan 25, 2018
phpunit.xml.dist 3 tests still don't pass Mar 15, 2017


This is 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.

Join the chat at Build Status SensioLabsInsight

How to use it?

Inside any PHP application

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
        question: '2 + 2 = ?'
            - {value: 4,           correct: true}
            - {value: 3,           correct: false}
            - {value: 2,           correct: false}

Then you can do:

use Certificationy\Loaders\YamlLoader;

$loader = new YamlLoader(['path/to/question.yaml']);
$questions = $loader->load(1, []); // (nbQuestions, fromCategories)
$loader->categories(); // ['basics']

$set = Set::create($questions);

Then, for each question you can set user answers (as answers can be multiple):

 $set->setUserAnswers(0, [4]); // (questionIndex, [values])

At every moment, you can get the correct and wrong answers (non answered questions are wrong).


CLI tool

A CLI tool is available under the following repository:

Please, help us complete our official packs of questions!

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.

More we will have questions, the more powerful will be this tool!