class cidade {
public static function lista(){
}
}
Eu gostaria de saber, como eu capturo os parametros setados para eles, dentro da função, estou fazendo assim:
$cidade = new cidade;
$cidade->codcidade = 10;
$cidade->nome = 'Cidade';
$cidade->lista();
Eu gostaria de saber como pegar o codcidade, nome, e qualquer um outro que eu usar, sem precisar setar como public $_codcidade, public $_nome, na classe.
Tem alguma solução?
Os atributos são públicos por padrão pelo Yii, então vc não precisa setar nada. Mas não sei se da pra pegar os valores setados numa instância dentro de um método estático.
Da forma acima, eu tenho 2 instâncias do mesmo objeto. Não tem como um método de classe saber a qual instância me refiro, a não ser que vc passe pra função a instância.
Sim, é pq o $this não existe. O $this se refere a sua instância atual, e só pode ser usado em métodos não-estáticos. Para os métodos estáticos não existe instância, logo o $this não existe. Da uma olhada no link abaixo.
Métodos estáticos/ Métodos de classe são métodos que são chamados só pela classe. No sei caso, se não for uma classe de modelo (Na qual requer uma instância), vc pode transformar estes atributos em variáveis estáticas, e acessar no método estático como Self::$variavel.