Uso de uno mismo o $ esto en PHP

Uso de uno mismo o $ esto en PHP

El ser palabra clave y $ esto Las variables se utilizan para dos propósitos diferentes en la programación orientada a objetos PHP. Estos se utilizan principalmente para representar a los miembros de la clase de una clase en particular. El ser La palabra clave se usa para representar a los miembros actuales y estáticos de la clase. El $ esto La variable se usa para representar el objeto actual y los miembros no estáticos de la clase. Las características y los usos de las palabras auto clave y $ esta variable en la clase PHP se explican en este tutorial.

Palabra clave:

Características:
Las características de esta palabra clave se mencionan a continuación:

  • No se requiere un símbolo especial para usar esta palabra clave.
  • Se usa con el operador de resolución de alcance (: :) de PHP.
  • No se refiere a ninguna instancia de la clase.
  • Representa a los miembros estáticos de la clase que utilizan todas las instancias de clase.
  • No requiere iniciar un objeto.

Sintaxis:
Self :: $ static_member

Ejemplo 1: Uso de la palabra clave y llame a la función estática usando objeto

El siguiente ejemplo muestra el uso de la ser palabra clave para acceder a los miembros estáticos de cualquier clase. Cree un archivo PHP con el siguiente código que contiene una clase llamada "Visitante", con una variable y función estática. Cuando se crea cualquier objeto de esta clase, se imprimirá el valor inicial de la variable estática. El increment_counter () la función incrementará el valor de la variable estática por 1. El ser La palabra clave se usa en el script para leer e incrementar el valor de la variable estática.

Visitante de clase
// Defina un miembro estático
Estático privado $ contador = 1;
// Definir constructor al valor del miembro estático
función __construct ()
Echo "El valor inicial es:".Self :: $ contador."
";

/*Defina una función para incrementar el valor del miembro estático
y devuelva el valor a la persona que llama*/
función estática pública increment_counter ()
Self :: $ contador ++;
devolver "El valor actual es:".Self :: $ contador;


// Crear objeto de la clase
$ objeto = nuevo visitante ();
// llamar a la función estática
echo $ objeto-> increment_counter ()."
";
?>

Producción:
La siguiente salida aparecerá después de ejecutar el script. El valor inicial de $ contador es 1, que se convierte en 2 después del incremento.

Ejemplo-2: Uso de la palabra clave y llame directamente a la función estática

En el siguiente ejemplo, el libro La clase contiene tres variables estáticas y cuando se crea el objeto de esta clase, estas variables se inicializarán con tres valores utilizando el yo palabra clave. Cuando el método addbook () llamará usando objeto, entonces el método estático, mostrar(), llamará mediante el uso del ser palabra clave.

Cómo se puede acceder a los miembros estáticos de la clase sin crear ningún objeto también se muestra en este tutorial.

Libro de clase

// Declarar a los miembros estáticos
Pública estática $ id;
Público estático $ BookName;
Pública estática $ stock_qty;
// declarar constructor
función pública __construct ($ id, $ bookname, $ stock_qyt)

self :: $ id = $ id;
self :: $ bookName = $ bookName;
self :: $ stock_qty = $ stock_qty;

// Declarar método regular
Función pública AddBook ($ Qty)

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

// declarar método estático
Pantalla de función estática pública ()

echo "ID de libro:".Self :: $ ID."
";
echo "Nombre del libro:".Self :: $ BookName."
";
Echo "Stock actual:".Self :: $ stock_qty."
";


// Inicializar las variables estáticas usando el constructor
$ bookObject = nuevo libro ('123', 'Learning PHP', 120);
// llame al método estático usando la palabra clave
$ bookObject-> addbook (30);
eco "------------------------------
";
// llame al método estático directamente
Libro :: display ();
?>

Producción:
La siguiente salida aparecerá después de ejecutar el script. El método Display () se llama dos veces aquí. Se llama usando la palabra clave y directamente con el nombre de la clase.

$ esta variable:

$ esto La variable se usa principalmente en la programación orientada a objetos para establecer una referencia al objeto actual de la clase. Se utiliza para referirse al miembro no estático y a la función de la clase solamente, de lo contrario, generará un error. Los usos de esta variable se muestran en la siguiente parte de este tutorial.

Ejemplo-3: Uso de $ esta variable para acceder al miembro de la clase privada

En el siguiente ejemplo, el cliente La clase se crea con dos miembros privados, un constructor y un método. Los miembros privados de la clase son accesibles solo dentro de la clase. El $ esto La variable se usa aquí para establecer y obtener los valores de los miembros privados. Cuando se crea el objeto de la clase, los miembros de la clase se inicializarán dentro del constructor. Cuando el nombre completo() Se llamará al método, entonces los valores de los miembros privados se imprimirán utilizando el $ esto variable.

Cliente de clase
// declarar miembro privado
Privado $ FirstName;
Privado $ LastName;
// declarar instructor
función pública __construct ($ fn, $ ln)

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

// imprima el nombre completo del cliente
función pública fullName ()
Echo "El nombre del cliente es:".$ this-> primer nombre.".$ this-> lastname;


//Crear objeto
$ customer = new Customer ('Mohammed', 'Rafiq');
// llamar a la función pública FullName ()
$ customer-> fullName ();
?>

Producción:
La siguiente salida aparecerá después de ejecutar el script.

Ejemplo-4: uso de la palabra clave y $ esta variable

El siguiente ejemplo muestra el uso de ambos el yo palabra clave y $ esto variable. El empleado La clase contiene un miembro estático y privado. El ser La palabra clave se utiliza para acceder al miembro estático y al $ esto La variable se utiliza para acceder al miembro no estático en el script.

empleado de clase
// declarar un miembro estático
Público estático $ nombre;
// declarar un miembro privado
Privado $ salario;
// Declarar el constructor
función pública __construct ($ name, $ salario)

self :: $ name = $ name;
$ this-> salario = $ salario;

// imprima el nombre completo del cliente
Detalles de la función pública ()
Echo "Nombre del empleado:".Self :: $ Nombre."
";
Echo "Salario:".$ this-> salario;


//Crear objeto
$ emp = nuevo empleado ('Mir Sabbir', 500000);
// llamar a la función pública FullName ()
$ emp-> detalles ();
?>

Producción:
La siguiente salida aparecerá después de ejecutar el script. Aquí, el nombre del empleado se imprime usando el yo palabra clave, y el salario se imprime utilizando el $ esto variable.

Tutorial de video

Conclusión:

El yo palabra clave y $ esto La variable se usa para diferentes propósitos dentro de la clase. Ambos se utilizan para acceder a los miembros de la clase. Los usos del ser palabra clave y $ esto Las variables se muestran utilizando cuatro ejemplos diferentes en este tutorial, para ayudar al lector a conocer el uso del ser palabra clave y $ esto variable, así como aplicarlos correctamente en su script PHP.