code: public function getByRule($rule)
      {
          $rs = null;
  
          if (!isset($rule['name'])) {
              throw new InternalServerError(T('miss name for rule'));
          }
  
          $rs = Variable::format($rule['name'], $rule, $this->data);
  
          if ($rs === NULL && (isset($rule['require']) && $rule['require'])) {
              throw new BadRequest(T('{name} require, but miss', ['name' => $rule['name']]));
          }
  
          return $rs;
      }
docs: 根据规则获取参数
  
  @param array $rule 参数规则
  @throws InternalServerError
  @throws BadRequest
  @return mixed