Einführung in Access Modifiers in PHP

Mit dem Zugriffsmodifikator können Sie den Umfang und die Rechte der Barrierefreiheit für die Variablen anderer Bezeichner in PHP festlegen. PHP unterstützt verschiedene Schlüsselwörter, damit jede Variable auf jede Variable und die Bezeichner zugreifen kann. Wir können diese Schlüsselwörter der Klasse, Funktion oder den Bezeichnern zuordnen. Diese Schlüsselwörter - öffentlich, privat, geschützt, abstrakt, endgültig usw.

Wann benutzt man Access Modifiers in PHP?

PHP hat im Gegensatz zu Java einige Einschränkungen hinsichtlich seines Zugriffsmodifikators. Wir können nicht alle PHP-Zugriffsmodifikatoren auf Klassen-, Funktions- und Bezeichnerebene verwenden. Wir können diese Zugriffsmodifikatoren gemäß unseren geschäftlichen Anforderungen verwenden, um die Erlaubnis für das gesamte Programm oder die Anwendung zu erteilen oder zu widerrufen.

Hier sind die Listenmodifikatoren und ob sie anwendbar sind oder nicht:

ZugriffsmodifikatorKlassenstufeFunktionsebeneVariable Ebene
ÖffentlichkeitN / AJAJA
PrivatN / AJAJA
geschütztN / AJAJA
abstraktJAJAN / A
FinaleJAJAN / A
StatischN / AJAJA

In der obigen Geschichte bezeichnet NA das Nicht Zutreffende. Das heißt, wir können nicht öffentlich, privat und geschützt auf Klassenebene arbeiten. Wir können die Zusammenfassung und das Finale nur auf Klassenebene verwenden.

Verschiedene Zugriffsmodifikatoren in PHP

Nachfolgend sind die folgenden Zugriffsmodifikatoren in PHP aufgeführt

1. Modifikator für den öffentlichen Zugriff

Die Öffentlichkeit ist der Standard-Modifikator wie JAVA in PHP. Das heißt, wenn wir keinen Modifikator für die Funktionen der Identifikatoren verwenden, wird dieser standardmäßig als Modifikator für den öffentlichen Zugriff betrachtet. Dies ist eine der am häufigsten verwendeten. In dem Moment, in dem wir zur Wiederverwendbarkeit des Funktionscodes kommen, entscheiden wir uns normalerweise für den Modifikator für den öffentlichen Zugriff. Da die öffentliche Klasse von einem beliebigen Ort innerhalb der Klasse, sicher außerhalb der Klasse, in der erweiterten Klasse verwendet werden kann und diese wiederverwendbare Klasse an keine Klasse gebunden ist, können wir sie an jedem Ort verwenden, an dem wir die Datei einfügen. Wie in der obigen Tabelle erwähnt, können wir diesen öffentlichen Modifizierer nicht zusammen mit privat und geschützt für die Klasse verwenden.

Nun ist es an der Zeit, das Beispiel des Modifikators für den öffentlichen Zugriff zu sehen:

<_?php
class MyAccess (
var $var = "This is first var";
// print var variable value
function returnVar() (
echo $this->var;
)
)
$obj1 = new MyAccess();$obj1->returnVar();
?>

Im obigen Code wurde die Funktion returnVar () ohne Zugriffsmodifikator definiert. Dies funktioniert also so öffentlich, wie dies der Standardmodifikator in der PHP-Sprache ist.

public, private und protected sind auf Klassenebene nicht anwendbar. Schauen wir uns ein Beispiel an.

<_?php
class public MyAccess (
var $var = "This is first var";
function returnVar() (
echo $this->var;
)
)
$obj1 = new MyAccess();
$obj1->returnVar();
?>

Der obige Code gibt einen Fehler aus, wie unten erwähnt:

(!) Parse-Fehler: Syntaxfehler, unerwartetes 'public' (T_PUBLIC), erwarteter Bezeichner (T_STRING) in E: \ wamp \ www \ twit \ index.php in Zeile 2

Dies gilt auch für privat und geschützt.

<_?php
class private MyAccess (
var $var = "This is first var";
)
?>
class protected MyAccess (
var $var = "This is first var";
)
?>
<_?php
class private MyAccess (
var $var = "This is first var";
)
?>
class protected MyAccess (
var $var = "This is first var";
)
?>

2. Modifikator für privaten Zugriff

Dieser Modifikator verwendet das private Schlüsselwort, um es zu verarbeiten. Der private Modifikator kann nicht mit der Klasse verwendet werden. Wir können dies nur mit den Klassenvariablen und Klassenmethoden verwenden (wie in der obigen Tabelle erwähnt). Wenn wir das private deklarieren und verwenden, kann mit dem Objekt der Klasse nicht darauf zugegriffen werden. Es kann nur innerhalb der Klasse verwendet werden.

Beispielsweise

<_?php
class MyAccess (
var $var = "This is first var";
private $fist_name;
// simple class method
function returnVar() (
echo $this->fist_name;
)
function set_fist_name($set_this)(
$this->fist_name = $set_this;
)
)
$obj1 = new MyAccess();
echo $obj1->fist_name; // will give the error
$obj1->set_fist_name("Jai Shre");
$obj1->returnVar();
?>
echo $obj1->fist_name; // will give the error

Diese Codezeile, die wir verwenden können, führt zu dem Fehler. Dies ist etwas, auf das wir nicht mit dem Objekt dieser Klasse auf die private Variable zugreifen können. Wir können dies jedoch verwenden, indem wir die Einstellung und die Getter-Methode verwenden, wie wir sie im obigen Code verwenden. $ obj1-> set_fist_name ("Jai Shre"); Codezeile setzt den Wert in der Variablen und verwendet $ obj1-> returnVar (); wir können den Wert der gesetzten Variablen erhalten.

3. Modifikator für geschützten Zugriff

Genau wie öffentlich und privat, unterstützt sich protected nicht auf Klassenebene. Wie ein privater Modifizierer beschränkt protected auch den Zugriff auf die Klassenvariablen oder die Funktion von außerhalb der Klasse. Es kann innerhalb derselben Klasse und aus der Unterklasse (untergeordnete Klasse) verwendet werden.

Beispielsweise

<_?php
class MyAccess (
var $var = "This is first var";
protected $fist_name;
// simple class method
function returnVar() (
echo $this->fist_name;
)
function set_fist_name($set_this)(
$this->fist_name = $set_this;
)
)
class child extends MyAccess (
function setVal($set_this)(
$this->fist_name = $set_this;
)
function getVal()(
echo $this->fist_name;
)
)
$obj1 = new child();
//echo $obj1->fist_name; // will give the error
$obj1->setVal("Jai Shre");
$obj1->getVal();
?>

echo $ obj1-> faust_name; In der Codezeile wird der folgende Fehler angezeigt

Ausgabe:

Schwerwiegender Fehler: Der Zugriff auf die geschützte Eigenschaft MyAccess :: $ fist_name in E: \ wamp \ www \ twit \ index.php in Zeile 20 ist nicht möglich

4. Abstrakter Zugriffsmodifikator

Es kann für die Klasse und die Funktion verwendet werden, nicht für die Klassenvariable. Wenn eine Klasse mindestens eine abstrakte Funktion hat, muss sie als abstrakt deklariert werden. Wir können die abstrakte Klasse nicht instanziieren. Eine abstrakte Klasse wird hauptsächlich als unvollständige Klasse betrachtet.

5. Letzter Zugriffsmodifikator

Wenn eine Klasse als endgültig deklariert wird, können wir diese Klasse nicht erweitern. PHP verhindert, dass die letzte Klasse vererbt wird.

6. Statischer Zugriffsmodifikator

Mit dem Schlüsselwort static kann jede Funktion als statisch definiert werden. Es ermöglicht die Verwendung dieser Funktion, um ein Objekt der Klasse zu erstellen, in der es deklariert wurde. Statisches Methodenbeispiel -

public static function static Function()
(
// declaration goes here..
)

Fazit

Wir sollten immer den Zugriffsmodifikator gemäß den Geschäftsanforderungen verwenden. Mit private und protected können wir die direkte Verwendung privater Variablen und privater Methoden außerhalb der deklarierten Klasse einschränken.

Empfohlene Artikel

Dies ist eine Anleitung zu Access Modifiers in PHP. Hier diskutieren wir die verschiedenen Zugriffsmodifikatoren in PHP mit den Beispielen und Ausgaben. Sie können auch den folgenden Artikel lesen, um mehr zu erfahren -

  1. Abstrakte Klasse in PHP
  2. Muster in PHP
  3. PHP-Switch-Anweisung
  4. Variablen in PHP
  5. C Schlüsselwörter
  6. C # -Schlüsselwörter
  7. Statische Methode in PHP
  8. Statisches Schlüsselwort in C
  9. Switch-Anweisung in C #
  10. Vollständiger Leitfaden für Abstract Class in C #
  11. Komplette Anleitung zur statischen JavaScript-Methode