Ir para o conteúdo

 Voltar a Fórum 1 - Us...
Tela cheia

RESOLVENDO O ERRO Strict standards: Non-static method Pessoa::podeAdministrar() should not be called statically in ... noticias.php on line ...

21 de Fevereiro de 2013, 14:27 , por Desconhecido - | Ninguém seguindo este artigo por enquanto.
Visualizado 3644 vezes

STRICT STANDARDS representa um nível de notificação de mensagens de erro do PHP que avisa o programador sobre mudanças a serem realizadas no código-fonte para garantir a melhor interoperabilidade futura. Na prática, habilitar o STRICT STANDARDS ajuda a evitar quebra de compatibilidade em seu código com futuras atualizações de versões do PHP, já que ele antecipa algumas possíveis mudanças futuras.

É recomendado deixar o STRICT STANDARDS habilitado no servidor de desenvolvimento para escrevermos um código melhor preparado para novas versões. Mensagens do tipo STRICT são inofensivas, ou seja, não interferem negativamente em seu código. Mas isso não quer dizer que uma mensagem que hoje é STRICT se transforme em uma WARNING ou FATAL ERROR em uma futura versão.

Uma das mensagens emitidas quando o STRICT está ligado (ver cláusula error_reporting do php.ini) é: "Strict Standards: Non-static method CLASS::METHOD() should not be called statically in file.php on line X". Essa mensagem é emitida quando realizamos uma chamada estática de um método que não está declarado de maneira estática. Para solucionar esse problema, basta adicionarmos um "static" na declaração do método.

basta alterar a função no arquivo noticias.php ficando assim:

  static function  podeAdministrar($userRole,$nivel,$interage=1) {
    //talvez instancia atual possa ser passada como parametro
    $instanciaAtual = new InstanciaNivel($nivel,getCodInstanciaNivelAtual());
   
    if ($userRole==ADMINISTRADOR_GERAL || $userRole==ADM_NIVEL) {
      return 1;
    }
    //PROFESSOR  tem de estar numa instancia em que pode interagir e tambem relaciona pessoas
    elseif ($userRole==PROFESSOR && $interage && $instanciaAtual->relacionaPessoas()) {
      return 1;
    }
    else {
      return 0;
    } 
  }

Autor: Christian Rafael


Essa comunidade não possui posts nesse blog