/** * Constructor - does extra checking to prevent top level optional parameters. * * @param array $keys * @param string $desc * @param bool $required * @param array $default */ public function __construct(array $keys, $desc = '', $required = VALUE_REQUIRED, $default = null) { global $CFG; if ($CFG->debugdeveloper) { foreach ($keys as $key => $value) { if ($value instanceof external_value) { if ($value->required == VALUE_OPTIONAL) { debugging('External function parameters: invalid OPTIONAL value specified.', DEBUG_DEVELOPER); break; } } } } parent::__construct($keys, $desc, $required, $default); }
function SistemaAulaGradeReturn() { parent::__construct(array('userId' => new external_value(PARAM_INT, "Id do Usuário no qual a grade pertence", VALUE_OPTIONAL), 'grade' => new external_value(PARAM_FLOAT, "A nota final do usuário", VALUE_REQUIRED, -1)), 'Grade com detalhes da avaliação ou nota final do usuário.'); }