Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
A dúvida já está no título, mas pra que serve no fim de métodos? O que ele retorna?
Hum... Vou dar uma estudada. Parece ser simples, mas vai que não é shaushaus
Em uma explicação bem simplória, quer dizer, desta classe, ex:
class carro{
private $cor
public function pintar(){
$this -> cor = "verde" // quer dizer desta classe, ou seja, toda vez que você quiser atribuir , ou mesmo envocar um metodo ou atributo dentro da classe, usa-se $this
}
}
espero ter ajudado :D
É para você retornar algo dentro da classe em que está , é uma maneira para agilizar as coisas e o PHP não se confunda. Acho que os exemplos já foram dados ai em cima !
Abraços
A explicação é valida, mas precisam evitar confusões. Está errado dizer que é para retornar algo dentro da classe. Apesar de ser algo que está "dentro" da classe escrita, não é do nível de uma classe e sim no nível de um objeto. Se não existir instância (objeto), $this não funcionará.
Tentem utilizar $this para métodos/atributos estáticos. Não irá funcionar, pois um método/atributo estático não é do escopo de um objeto e sim de uma classe.
Para um teste rápido, verão que somente o teste 3 funcionará, pois self é referente a classe e não ao objeto:
class Teste {
public static function primeiroTeste() {
return $this;
}
public static function segundoTeste() {
return new $this;
}
public static function terceiroTeste() {
return new self;
}
}
var_dump(Teste::primeiroTeste());
var_dump(Teste::segundoTeste());
var_dump(Teste::terceiroTeste());
Para mais informações sobre o que é $this, vejam o segundo exemplo
Gabriel Heming
Boa e obrigado ! +1
Retorna o próprio objeto(instância), imagine a cena:
class Teste {
Vai exibir Ola Mundo
Chama-se Fluent Interface
http://en.wikipedia.org/wiki/Fluent_interface
Ou Interface Fluente