本文整理汇总了PHP中question_engine::make_behaviour方法的典型用法代码示例。如果您正苦于以下问题:PHP question_engine::make_behaviour方法的具体用法?PHP question_engine::make_behaviour怎么用?PHP question_engine::make_behaviour使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类question_engine
的用法示例。
在下文中一共展示了question_engine::make_behaviour方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: make_behaviour
public function make_behaviour(question_attempt $qa, $preferredbehaviour)
{
return question_engine::make_behaviour('manualgraded', $qa, $preferredbehaviour);
}
示例2: __construct
/**
* Create a question_attempt_with_restricted_history
* @param question_attempt $baseqa The question_attempt to make a restricted version of.
* @param int $lastseq the index of the last step to include.
* @param string $preferredbehaviour the preferred behaviour. It is slightly
* annoyting that this needs to be passed, but unavoidable for now.
*/
public function __construct(question_attempt $baseqa, $lastseq, $preferredbehaviour)
{
$this->baseqa = $baseqa->get_full_qa();
if ($lastseq < 0 || $lastseq >= $this->baseqa->get_num_steps()) {
throw new coding_exception('$lastseq out of range', $lastseq);
}
$this->steps = array_slice($this->baseqa->steps, 0, $lastseq + 1);
$this->observer = new question_usage_null_observer();
// This should be a straight copy of all the remaining fields.
$this->id = $this->baseqa->id;
$this->usageid = $this->baseqa->usageid;
$this->slot = $this->baseqa->slot;
$this->question = $this->baseqa->question;
$this->maxmark = $this->baseqa->maxmark;
$this->minfraction = $this->baseqa->minfraction;
$this->maxfraction = $this->baseqa->maxfraction;
$this->questionsummary = $this->baseqa->questionsummary;
$this->responsesummary = $this->baseqa->responsesummary;
$this->rightanswer = $this->baseqa->rightanswer;
$this->flagged = $this->baseqa->flagged;
// Except behaviour, where we need to create a new one.
$this->behaviour = question_engine::make_behaviour($this->baseqa->get_behaviour_name(), $this, $preferredbehaviour);
}
示例3: make_behaviour
public function make_behaviour(question_attempt $qa, $preferredbehaviour)
{
if (empty($this->inputs)) {
return question_engine::make_behaviour('informationitem', $qa, $preferredbehaviour);
}
if (empty($this->prts)) {
return question_engine::make_behaviour('manualgraded', $qa, $preferredbehaviour);
}
if ($preferredbehaviour == 'adaptive' || $preferredbehaviour == 'adaptivenopenalty') {
return question_engine::make_behaviour('adaptivemultipart', $qa, $preferredbehaviour);
}
if ($preferredbehaviour == 'deferredfeedback' && $this->any_inputs_require_validation()) {
return question_engine::make_behaviour('dfexplicitvaildate', $qa, $preferredbehaviour);
}
if ($preferredbehaviour == 'deferredcbm' && $this->any_inputs_require_validation()) {
return question_engine::make_behaviour('dfcbmexplicitvaildate', $qa, $preferredbehaviour);
}
return parent::make_behaviour($qa, $preferredbehaviour);
}
示例4: make_behaviour
public function make_behaviour(question_attempt $qa, $preferredbehaviour) {
if ($preferredbehaviour == 'interactive') {
return question_engine::make_behaviour('interactivecountback',
$qa, $preferredbehaviour);
}
return question_engine::make_archetypal_behaviour($preferredbehaviour, $qa);
}
示例5: make_behaviour
public function make_behaviour(question_attempt $qa, $preferredbehaviour)
{
global $CFG;
// check that regexpadaptivewithhelp behaviour has been installed
// if not installed, then the regexp questions will follow the "standard" behaviours
// and Help button will not be available
// NOTE: from 2.2 you cannot install regexp if corresponding behaviours have not been installed first
// see plugin->dependencies in version.php file
// only use the regexpadaptivewithhelp behaviour is question uses hint
if ($this->usehint) {
if ($preferredbehaviour == 'adaptive' && file_exists($CFG->dirroot . '/question/behaviour/regexpadaptivewithhelp/')) {
return question_engine::make_behaviour('regexpadaptivewithhelp', $qa, $preferredbehaviour);
}
if ($preferredbehaviour == 'adaptivenopenalty' && file_exists($CFG->dirroot . '/question/behaviour/regexpadaptivewithhelpnopenalty/')) {
return question_engine::make_behaviour('regexpadaptivewithhelpnopenalty', $qa, $preferredbehaviour);
}
}
return question_engine::make_archetypal_behaviour($preferredbehaviour, $qa);
}