public、protected、private的区别,protectedprivate_PHP教程
public、protected、private的区别,protectedprivate
通过className::functionNmae()、实例化、parent、self得出结论
className::functionNmae() 需是静态方法(public模式)
parent::functionNmae() 父类需是静态方法(public、protected两种模式)
self::functionNmae() 该类需是静态方法(三种模式)
实例化:实例化后可访问public模式的静态方法或普通方法
一、直接访问(通过 className::functionNmae()和实例化):
结论:
| 可以 通过 className::functionNmae() 访问
public
| 可以 通过实例 $obj->functionName() 访问
| 不可 通过 className::functionNmae() 访问
protected
| 不可 通过实例 $obj->functionName() 访问
| 不可 通过 className::functionNmae() 访问
private
| 不可 通过实例 $obj->functionName() 访问
<?<span>php </span><span>/*</span><span>* * * @authors HG (hg0728@qq.com) * @date 2015-05-26 17:12:02 * @version 1.0 </span><span>*/</span> <span>header</span>("Content-type:text/html;charset=utf-8"<span>); </span><span>class</span><span> A { </span><span>static</span> <span>$name</span>='这是类A的静态变量'<span>; </span><span>static</span> <span>public</span> <span>function</span><span> stc_pc(){ </span><span>echo</span> '这是类A的公共静态方法<br />'<span>; } </span><span>static</span> <span>function</span><span> stc(){ </span><span>echo</span> '这是类A的静态方法<br />'<span>; } </span><span>static</span> <span>protected</span> <span>function</span><span> stc_pd(){ </span><span>echo</span> '这是类A受保护的静态方法<br />'<span>; } </span><span>static</span> <span>private</span> <span>function</span><span> stc_pe(){ </span><span>echo</span> '这是类A私有的静态方法<br />'<span>; } } A</span>::stc_pc();<span>//</span><span>可访问</span> <span> A</span>::stc();<span>//</span><span>可访问</span> <span> A</span>::<span>$name</span>;<span>//</span><span>不报错 //A::stc_pd();//不可访问 //A::stc_pe();//不可访问</span> <span>echo</span> '<br><br>通过实例化访问<br><br>'<span>; </span><span>$a</span> = <span>new</span><span> A(); </span><span>$a</span>->stc_pc();<span>//</span><span>可访问</span> <span>$a</span>->stc();<span>//</span><span>可访问 //$a->$name;//报错 //$a->stc_pd();//不可访问 //$a->stc_pe();//不可访问</span> <span>/*</span><span>******************* | 可以 通过 className::functionNmae() 访问 public | | 可以 通过实例 $obj->functionName() 访问 | 不可 通过 className::functionNmae() 访问 protected | | 不可 通过实例 $obj->functionName() 访问 | 不可 通过 className::functionNmae() 访问 private | | 不可 通过实例 $obj->functionName() 访问 *******************</span><span>*/</span>
二、直接访问(self::functionNmae())
结论:
self::functionNmae();需是静态方法(三种模式都可)
<?<span>php </span><span>/*</span><span>* * * @authors HG (hg0728@qq.com) * @date 2015-05-26 17:18:50 * @version 1.0 </span><span>*/</span> <span>header</span>("Content-type:text/html;charset=utf-8"<span>); </span><span>class</span><span> C { </span><span>static</span> <span>$name</span> = "静态变量"<span>; </span><span>static</span> <span>public</span> <span>function</span><span> stc_pc(){ </span><span>echo</span> '静态公共方法<br>'<span>; self</span>::<span>stc_pd(); self</span>::<span>stc_pe(); self</span>::<span>stc(); </span><span>//</span><span>self::func();//报错但有结果</span> <span> } </span><span>static</span> <span>protected</span> <span>function</span><span> stc_pd(){ </span><span>echo</span> '静态受保护方法<br>'<span>; } </span><span>static</span> <span>private</span> <span>function</span><span> stc_pe(){ </span><span>echo</span> '静态受保护方法<br>'<span>; } </span><span>static</span> <span>function</span><span> stc(){ </span><span>echo</span> '静态普通方法<br>'<span>; } </span><span>function</span><span> func(){ </span><span>echo</span> '普通方法<br>'<span>; } } C</span>::<span>stc_pc(); </span><span>/*</span><span>***** self::functionNmae();需是静态方法(三种模式都可) *****</span><span>*/</span>
三、通过子类访问父类(parent::functionNmae()和实例化)
结论:
parent::functionNmae(); private不可访问
$obj->functionNmae(); private不可访问
<?<span>php </span><span>/*</span><span>* * * @authors HG (hg0728@qq.com) * @date 2015-05-26 17:18:50 * @version 1.0 </span><span>*/</span> <span>header</span>("Content-type:text/html;charset=utf-8"<span>); </span><span>include</span> '/class_a.php'<span>; </span><span>class</span> B <span>extends</span><span> A{ </span><span>static</span> <span>public</span> <span>function</span><span> index(){ parent</span>::<span>stc_pc(); parent</span>::<span>stc(); parent</span>::<span>stc_pd(); parent</span>::<span>$name</span>;<span>//</span><span>不报错 //parent::stc_pe();//不可访问</span> <span>echo</span> '<br><br>通过实例化访问<br><br>'<span>; </span><span>$a</span> = <span>new</span><span> A(); </span><span>$a</span>-><span>stc_pc(); </span><span>$a</span>-><span>stc(); </span><span>$a</span>-><span>stc_pd(); </span><span>$a</span>-><span>$name</span>;<span>//</span><span>报错 //$a->stc_pe();//不可</span> <span> } } B</span>::<span>index(); </span><span>/*</span><span>***** 在子类中通过: parent::functionNmae(); private不可访问 $obj->functionNmae(); private不可访问 *****</span><span>*/</span>

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Alipay PHP ...

JWT ist ein offener Standard, der auf JSON basiert und zur sicheren Übertragung von Informationen zwischen Parteien verwendet wird, hauptsächlich für die Identitätsauthentifizierung und den Informationsaustausch. 1. JWT besteht aus drei Teilen: Header, Nutzlast und Signatur. 2. Das Arbeitsprinzip von JWT enthält drei Schritte: Generierung von JWT, Überprüfung von JWT und Parsingnayload. 3. Bei Verwendung von JWT zur Authentifizierung in PHP kann JWT generiert und überprüft werden, und die Funktionen und Berechtigungsinformationen der Benutzer können in die erweiterte Verwendung aufgenommen werden. 4. Häufige Fehler sind Signaturüberprüfungsfehler, Token -Ablauf und übergroße Nutzlast. Zu Debugging -Fähigkeiten gehört die Verwendung von Debugging -Tools und Protokollierung. 5. Leistungsoptimierung und Best Practices umfassen die Verwendung geeigneter Signaturalgorithmen, das Einstellen von Gültigkeitsperioden angemessen.

In Artikel wird die in PHP 5.3 eingeführte LSB -Bindung (LSB) erörtert, die die Laufzeitauflösung der statischen Methode ermöglicht, um eine flexiblere Vererbung zu erfordern. Die praktischen Anwendungen und potenziellen Perfo von LSB

In Artikel werden wichtige Sicherheitsfunktionen in Frameworks erörtert, um vor Schwachstellen zu schützen, einschließlich Eingabevalidierung, Authentifizierung und regelmäßigen Aktualisierungen.

Senden von JSON -Daten mithilfe der Curl -Bibliothek von PHP in der PHP -Entwicklung müssen häufig mit externen APIs interagieren. Eine der gängigen Möglichkeiten besteht darin, die Curl Library zu verwenden, um Post � ...

In dem Artikel werden Frameworks hinzugefügt, das sich auf das Verständnis der Architektur, das Identifizieren von Erweiterungspunkten und Best Practices für die Integration und Debuggierung hinzufügen.

Die Anwendung des soliden Prinzips in der PHP -Entwicklung umfasst: 1. Prinzip der Einzelverantwortung (SRP): Jede Klasse ist nur für eine Funktion verantwortlich. 2. Open and Close Principle (OCP): Änderungen werden eher durch Erweiterung als durch Modifikation erreicht. 3.. Lischs Substitutionsprinzip (LSP): Unterklassen können Basisklassen ersetzen, ohne die Programmgenauigkeit zu beeinträchtigen. 4. Schnittstellen-Isolationsprinzip (ISP): Verwenden Sie feinkörnige Schnittstellen, um Abhängigkeiten und nicht verwendete Methoden zu vermeiden. 5. Abhängigkeitsinversionsprinzip (DIP): Hoch- und niedrige Module beruhen auf der Abstraktion und werden durch Abhängigkeitsinjektion implementiert.

Die Hijacking der Sitzung kann in den folgenden Schritten erreicht werden: 1. Erhalten Sie die Sitzungs -ID, 2. Verwenden Sie die Sitzungs -ID, 3. Halten Sie die Sitzung aktiv. Zu den Methoden zur Verhinderung der Sitzung der Sitzung in PHP gehören: 1. Verwenden Sie die Funktion Session_regenerate_id (), um die Sitzungs -ID zu regenerieren. 2. Store -Sitzungsdaten über die Datenbank, 3. Stellen Sie sicher, dass alle Sitzungsdaten über HTTPS übertragen werden.
