Uso de self ou $ this em php

Uso de self ou $ this em php

O auto palavra -chave e $ this A variável é usada para dois propósitos diferentes na programação orientada a objetos PHP. Estes são usados ​​principalmente para representar os membros da classe de uma aula específica. O auto A palavra -chave é usada para representar os membros atuais e estáticos da classe. O $ this A variável é usada para representar o objeto atual e os membros não estáticos da classe. Os recursos e os usos de palavras -chave auto e $ essa variável na classe PHP são explicadas neste tutorial.

Palavra -chave autônoma:

Características:
Os recursos desta palavra -chave são mencionados abaixo:

  • Nenhum símbolo especial é obrigado a usar esta palavra -chave.
  • É usado com o operador de resolução de escopo (: :) de php.
  • Não se refere a nenhuma instância da classe.
  • Representa os membros estáticos da classe que são usados ​​por todas as instâncias de classe.
  • Não precisa iniciar um objeto.

Sintaxe:
self :: $ static_member

Exemplo 1: Uso da palavra -chave auto e chame a função estática usando o objeto

O exemplo a seguir mostra o uso do auto palavra -chave para acessar os membros estáticos de qualquer classe. Crie um arquivo php com o seguinte código que contém uma classe chamada "visitante", com uma variável estática e função. Quando qualquer objeto desta classe criar, o valor inicial da variável estática será impresso. O increment_counter () a função aumentará o valor da variável estática por 1. O auto A palavra -chave é usada no script para ler e incrementar o valor da variável estática.

classe visitante
// Defina um membro estático
private estático $ contador = 1;
// define o construtor para o valor do membro estático
função __construct ()
eco "O valor inicial é:".self :: $ contador."
";

/*Defina uma função para incrementar o valor do membro estático
e retorne o valor ao chamador*/
função estática pública increment_counter ()
self :: $ contador ++;
retornar "O valor atual é:".self :: $ contador;


// Crie objeto da classe
$ object = new visitante ();
// Chame a função estática
echo $ object-> increment_counter ()."
";
?>

Saída:
A saída a seguir aparecerá após a execução do script. O valor inicial de $ contador é 1, que se torna 2 após o incremento.

Exemplo-2: Uso da palavra-chave auto e chame a função estática diretamente

No exemplo seguinte, o livro Classe contém três variáveis ​​estáticas e quando o objeto desta classe é criado, essas variáveis ​​serão inicializadas com três valores usando o eu palavra -chave. Quando o método AddBook () chamará usando o objeto, o método estático, mostrar(), ligará usando o auto palavra -chave.

Como os membros estáticos da classe podem ser acessados ​​sem criar nenhum objeto também é mostrado neste tutorial.

livro escolar

// declarar membros estáticos
public static $ id;
public static $ bookname;
public static $ stock_qty;
// Declare o construtor
Função pública __construct ($ id, $ bookname, $ stock_qyt)

self :: $ id = $ id;
self :: $ bookname = $ bookname;
self :: $ stock_qty = $ stock_qty;

// Declare o método regular
Public Function Addbook ($ Qty)

self :: $ stock_qty += $ Qty;
self :: Display ();

// declarar método estático
Exibição de função estática pública ()

eco "ID do livro:".self :: $ id."
";
eco "Nome do livro:".self :: $ bookname."
";
eco "Estoque atual:".self :: $ stock_qty."
";


// inicialize as variáveis ​​estáticas usando o construtor
$ bookObject = new Book ('123', 'Learning Php', 120);
// Ligue para o método estático usando a palavra -chave auto
$ bookObject-> addbook (30);
eco "------------------------------
";
// Ligue diretamente ao método estático diretamente
Livro :: display ();
?>

Saída:
A saída a seguir aparecerá após a execução do script. O método Display () é chamado duas vezes aqui. É chamado usando a palavra -chave auto e diretamente com o nome da classe.

$ esta variável:

$ this A variável é usada principalmente na programação orientada a objetos para definir uma referência ao objeto atual da classe. É usado para se referir ao membro não estático e à função da classe apenas, caso contrário, gerará um erro. Os usos desta variável são mostrados na próxima parte deste tutorial.

Exemplo 3: Uso do $ esta variável para acessar o membro da classe privada

No exemplo seguinte, o cliente A classe é criada com dois membros particulares, um construtor e um método. Membros particulares da classe são acessíveis apenas dentro da classe. O $ this A variável é usada aqui para definir e obter os valores dos membros privados. Quando o objeto da classe é criado, os membros da classe serão inicializados dentro do construtor. Quando o nome completo() o método será chamado, então os valores dos membros privados serão impressos usando o $ this variável.

CLIENTE CLIENTE
// declarar membro privado
Private $ FirstName;
Private $ Sontname;
// Declare Instrutor
Função pública __construct ($ fn, $ ln)

$ this-> primeironame = $ fn;
$ this-> lastName = $ ln;

// imprima o nome completo do cliente
função pública fullname ()
eco "O nome do cliente é:".$ this-> primeiro nome."".$ this-> lastName;


// Crie objeto
$ cliente = novo cliente ('mohammed', 'rafiq');
// Ligue para a função pública FullName ()
$ Customer-> FullName ();
?>

Saída:
A saída a seguir aparecerá após a execução do script.

Exemplo-4: Uso da palavra-chave auto e $ esta variável

O exemplo a seguir mostra o uso de ambos o eu palavra -chave e $ this variável. O empregado A classe contém um membro estático e privado. O auto A palavra -chave é usada para acessar o membro estático e o $ this A variável é usada para acessar o membro não estático no script.

Funcionário da classe
// declarar um membro estático
Public Static $ Name;
// declarar um membro privado
Salário privado de $;
// declarar o construtor
Função pública __construct ($ nome, $ salário)

self :: $ name = $ nome;
$ this-> salário = $ salário;

// imprima o nome completo do cliente
Public Function Detalhes ()
eco "Nome do funcionário:".self :: $ nome."
";
eco "Salário:".$ this-> salário;


// Crie objeto
$ EMP = novo funcionário ('Mir Sabbir', 500000);
// Ligue para a função pública FullName ()
$ EMP-> Detalhes ();
?>

Saída:
A saída a seguir aparecerá após a execução do script. Aqui, o nome do funcionário é impresso usando o eu palavra -chave e o salário é impresso usando o $ this variável.

Vídeo tutorial

Conclusão:

O eu palavra -chave e $ this A variável é usada para diferentes propósitos dentro da classe. Ambos são usados ​​para acessar os membros da classe. Os usos do auto palavra -chave e $ this As variáveis ​​são mostradas usando quatro exemplos diferentes neste tutorial, para ajudar o leitor a conhecer o uso do auto palavra -chave e $ this variável, além de aplicá -los corretamente em seu script PHP.