Search moodle.org's
Developer Documentation

See Release Notes
Long Term Support Release

  • Bug fixes for general core bugs in 4.1.x will end 13 November 2023 (12 months).
  • Bug fixes for security issues in 4.1.x will end 10 November 2025 (36 months).
  • PHP version: minimum PHP 7.4.0 Note: minimum PHP version has increased since Moodle 4.0. PHP 8.0.x is supported too.
/question/engine/
FolderUp one level  
Foldertests/
 
Folderupgrade/
 
Filebank.php                [source] [711 lines]   More object oriented wrappers around parts of the Moodle question bank. In due course, I expect that the question bank will be converted to a fully object oriented structure, at which point this file can be a starting point.
Filedatalib.php             [source] [2033 lines]  Code for loading and saving question attempts to and from the database. Note that many of the methods of this class should be considered private to the question engine. They should be accessed through the {@link question_engine} class. For example, you should call {@link question_engine::save_questions_usage_by_activity()} rather than {@link question_engine_data_mapper::insert_questions_usage_by_activity()}. The exception to this is some of the reporting methods, like {@link question_engine_data_mapper::load_attempts_at_question()}.
Filelib.php                 [source] [1271 lines]  This defines the core classes of the Moodle question engine.
Filequestionattempt.php     [source] [2020 lines]  This file defines the question attempt class, and a few related classes.
Filequestionattemptstep.php [source] [791 lines]   This file defines the question attempt step class, and a few related classes.
Filequestionusage.php       [source] [1239 lines]  This file defines the question usage class, and a few related classes.
Filerenderer.php            [source] [525 lines]   Renderers for outputting parts of the question engine.
Filestates.php              [source] [478 lines]   This defines the states a question can be in.