Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Galera estou fazendo um curso de PHP mas o prof nao explicou direito, estamos vendo a parte de class e nao ficou claro
Para que realmente serve o $this ?
E aquelas variaveis que criamos no inicio, tipo: public $nome; private $senha; ?
>
existe tres tipo (não são variaveis) os tipos são: public, protected e private
public: você pode acessar ela tanto internamente como externamente
protected: você só pode acessar dentro da classe, ou numa classe extendida
private: você só pode acessar dentro da classe.
O elemento $this, traduzindo é "isto", este, e só é usado dentro de classe, por exemplo dentro de uma função voce quer chamar outra função da sua classe, ai você usa: $this->outraFuncao(); ou acessar um elemento da classe: $this->elementoExterno. Basicamente é isso
Entendendo, e por ex se eu quiser exibir uma chave publica em uma função da classe, eu faria
public function pessoa(){
echo $this->nome;
}
no caso o $this removeu o "$" do "public $nome;" ?class teste{
public $y;
function setY($valor){
$this->y = $valor;
}
function getY(){
return $this->y;
}
}
Esse é um exemplo usando public
mas como ele é public entao ele pracisara usar o getter e o setter ?
O elemento $this, traduzindo é "isto", este, e só é usado dentro de classe, por exemplo dentro de uma função voce quer chamar outra função da sua classe, ai você usa: $this->outraFuncao(); ou acessar um elemento da classe: $this->elementoExterno. Basicamente é isso
Não só exatamente dentro de uma classe, você pode instanciar um controlador em uma views por exemplo.
@Vinny OliveiraQuando você criar uma classe que tem (em muitos casos) variáveis de instância e métodos.
$this acessa estas "variáveis de instância", para que suas funções receba ou envie informações através destas variáveis.
Basicamente é isso!
Só completando a explicação pois creio que ele ficou confuso.
Quando citamos as visibilidades das propriedades estamos fazendo isso para fora do objeto e não para dentro.
class myClass
{
public $nome = 'Vinicius';
private $rg = 'xxxx';
}
$class = new myClass();
echo $class->$nome;//funciona
echo $class->rg;//não funciona
protected eu sugiro você estudar mais para frente pois já entra na parte de herança.
$this faz referência ao próprio objeto.
#6 eu disse em relação a classe que fora dela não tem como, você não consegue fazer
class teste{
public $x;
}
$classe = new teste();
$this->x = "1";
é essa relação que eu disse q não tem como
Mas sim, o this tbm pode ser utilizado numa classe extendida por exemplo
#9
Sugiro que estude mais um pouco e principalmente sobre novos padrões PSR-2.
Comece por:
Como extrair os objetos de uma classe ;)
Vou te dar os caminhos das pedras
http://php.net/manua...ectionclass.php
http://php.net/manua...ss.tostring.php
<?php
class Object {
public function __construct() {
}
public function toString() {
$class = get_class($this);
return $class;
}
existe tres tipo (não são variaveis) os tipos são: public, protected e private
public: você pode acessar ela tanto internamente como externamente
protected: você só pode acessar dentro da classe, ou numa classe extendida
private: você só pode acessar dentro da classe.
O elemento $this, traduzindo é "isto", este, e só é usado dentro de classe, por exemplo dentro de uma função voce quer chamar outra função da sua classe, ai vc usa: $this->outraFuncao(); ou acessar um elemento da classe: $this->elementoExterno. Basicamente é isso