本文整理匯總了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);
}