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