Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Vinny Oliveira

Aprendendo php, o que e o $this ?

Recommended Posts

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; ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

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;" ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

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 Oliveira
Quando 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!

Compartilhar este post


Link para o post
Compartilhar em outros sites

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

#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

Compartilhar este post


Link para o post
Compartilhar em outros sites

#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;
    }

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.