Unterschied zwischen Funktionen und öffentlichen Funktionen in Klassen
In den Klassen, die meisten Leute benutzen public function name() { }
Methoden definieren. Allerdings habe ich gesehen, einige Beispiele von Ihnen definiert wird, ohne die public
Schlüsselwort, wie function name() { }
. Ich war verwirrt, weil ich dachte, du hättest die Verwendung von public/private/protected, wenn innerhalb einer Klasse.
Machte ich die gleiche Art von Sache, und die function
mache genau die gleiche Arbeit wie public function
.
Also meine Frage ist, was ist der Unterschied zwischen der Verwendung function
und public function
wenn in einer Klasse?
- Mögliche Duplikate von Standardmäßige Sichtbarkeit von Klassen-Methoden in PHP
Du musst angemeldet sein, um einen Kommentar abzugeben.
Weglassen der Sichtbarkeit ist legacy-code. PHP 4 wird nicht unterstützt
public
,protected
undprivate
alle Methoden wurdenpublic
.Kurz:
"public function" == "function" //true
Siehe auch die PHP-Handbuch:
Ähnlich
var $attribute;
entsprichtpublic $attribute
. Dievar
version ist auch PHP 4 legacy-code.public
keyword?public
für Klarheit und vollen zukünftige Kompatibilität.Da kein Unterschied PHP >=5. Klasse Methoden definiert werden können als public, private oder protected. Methoden deklariert, ohne eine explizite Sichtbarkeit keyword sind als public definiert.
Den Standard-Sichtbarkeit ist öffentlich. Wenn eine Methode deklariert wird, ohne eine explizite Sichtbarkeit Präfix, es wird öffentlich sein.
Die folgenden Deklarationen sind gleichwertig:
Wenn Sie nicht die Sichtbarkeit einer Methode in php, es ist die gleiche Einstellung wie Sie es als public.
Vom PHP-Handbuch:
Wenn Sie definieren mit einfach
function
bedeutet, default, dauert espublic
Umfang (Standard) aus PHP 5.und
sind keinen Unterschied zwischen Ihnen.
private
=> kann auf die Eigenschaft zugreifen, die mit in der Klasseprotected
=> kann auf die Eigenschaft zugreifen eigenen Klassen und sub-Klassenpublic
=> zugreifen können überall in der Anwendung.In OOP PHP-Funktion als Methoden bezeichnet.
Wenn Sie Optional lassen sich die public, private oder protected-Schlüsselwort in einer Klasse. Wenn Sie dies tun, publicis übernommen.
private ->Verfügbar nur innerhalb der Klasse definiert die Funktion
Diese Funktion ist seit php 5.X und geben Sie Ihnen die Möglichkeit zum Steuern der Sichtbarkeit der variable oder Funktion.
wenn Sie eine Funktion mit dem Bezeichner, wie public , protected und private sind diese in der Klasse.
sind im Grunde die gleichen, außer, dass man die Sichtbarkeit der Ebene
der als öffentlich und ist von Objekt-orientierten Art und Weise und die andere php-normale Funktion ohne Sichtbarkeit.