关于PHP的_set()跟_get()
关于PHP的_set()和_get()
网上说这两个函数是对私有变量使用,这不是违背类的封装性吗?
为什么有时候用$this->$varName ,有时这样$this->varName到底是要不要‘$’啊???
如果您有时间的话在帮我看下我的代码错在哪里:
class MyClass
{
private $Age;
private $Grade;
public function __construct($name)
{
$this->MyName = $name;
$this->Age = 5;
}
public function _get($property_name)
{
echo '访问_get()
';
if (isset($property_name))
{
return $this->$property_name;
}
}
public function _set($property_name, $value)
{
echo '访问_set()
';
$this->$property_name = $value;
}
}
$obj = new MyClass('Tom');
$obj->Age = 23;//说这边错误 $obj->$Age也是错误
?>
------解决方案--------------------
错误不是出在$那里。
首先你定义的是类私有成员变量,私有的只能类自身内部可以调用。
$obj->Age = 23;明显无法调用,因为权限不够,外部禁止调用。
$obj->$Age = 23;也是错误的,首先php会自动识别你的$Age发现是空,说白了等价于$obj->=23;
给你改了一下代码,估计你就明白了,目前你还没懂类的变量调用级别。
- PHP code
<?phpclass MyClass{private $Age;private $Grade;public $test;public function __construct($name){$this->MyName = $name;$this->Age = 5;}public function _get($property_name){echo '访问_get()<br>';if (isset($property_name)){return $this->$property_name;}}public function _set($property_name, $value){echo '访问_set()<br>';$this->$property_name = $value;}}$obj = new MyClass('Tom');//$obj->Age = 23;$obj->_set('Age', 'hello world');echo $obj->_get('Age');$Age = 'test';$obj->$Age = 'hello difa';echo $obj->test;<div class="clear"> </div>

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



Viele Benutzer werden sich bei der Auswahl von Smartwatches für die Marke Huawei entscheiden. Viele Benutzer sind neugierig auf den Unterschied zwischen Huawei GT3pro und GT4. Was sind die Unterschiede zwischen Huawei GT3pro und GT4? 1. Aussehen GT4: 46 mm und 41 mm, das Material ist Glasspiegel + Edelstahlgehäuse + hochauflösende Faserrückschale. GT3pro: 46,6 mm und 42,9 mm, das Material ist Saphirglas + Titangehäuse/Keramikgehäuse + Keramikrückschale 2. Gesundes GT4: Mit dem neuesten Huawei Truseen5.5+-Algorithmus werden die Ergebnisse genauer. GT3pro: EKG-Elektrokardiogramm sowie Blutgefäß und Sicherheit hinzugefügt

PHPNotice: Tryingtogetpropertyofnon-object-Solution Während des PHP-Entwicklungsprozesses kann es zu einer häufigen Fehlermeldung kommen: Tryingtogetpropertyofnon-object (versucht, Eigenschaften von Nicht-Objekten abzurufen). Dieser Fehler wird normalerweise verursacht, wenn wir versuchen, auf eine Eigenschaft einer Variablen zuzugreifen (oder eine Methode aufzurufen), die kein Objekttyp ist. Dieser Artikel stellt Ihnen dies vor

Beim Schreiben von Code in PHP kann es zu der Fehlermeldung „Hinweis: Undefinierte Eigenschaft“ kommen. Dieser Fehler bedeutet, dass wir auf eine undefinierte Eigenschaft zugreifen, normalerweise weil die Eigenschaft im Code nicht initialisiert wurde. Wie kann man dieses Problem lösen? Hier sind einige mögliche Lösungen: Eigenschaften initialisieren Dies ist der einfachste Weg, dieses Problem zu lösen. Durch die explizite Initialisierung einer Eigenschaft im Code wird sichergestellt, dass sie vor der Verwendung definiert wird. Zum Beispiel: Klasse

Warum das Snipping-Tool unter Windows 11 nicht funktioniert Das Verständnis der Grundursache des Problems kann dabei helfen, die richtige Lösung zu finden. Hier sind die häufigsten Gründe, warum das Snipping Tool möglicherweise nicht ordnungsgemäß funktioniert: Focus Assistant ist aktiviert: Dies verhindert, dass das Snipping Tool geöffnet wird. Beschädigte Anwendung: Wenn das Snipping-Tool beim Start abstürzt, ist es möglicherweise beschädigt. Veraltete Grafiktreiber: Inkompatible Treiber können das Snipping-Tool beeinträchtigen. Störungen durch andere Anwendungen: Andere laufende Anwendungen können mit dem Snipping Tool in Konflikt geraten. Das Zertifikat ist abgelaufen: Ein Fehler während des Upgrade-Vorgangs kann zu diesem Problem führen. Diese einfache Lösung ist für die meisten Benutzer geeignet und erfordert keine besonderen technischen Kenntnisse. 1. Aktualisieren Sie Windows- und Microsoft Store-Apps

Age Animation ist eine Software, die Benutzern verschiedene Animationen bereitstellen kann. Wie lautet also der offizielle Eingang der Software? Benutzer müssen nur die untenstehende URL eingeben, um verschiedene Animationen kostenlos anzusehen. Beim Anmelden können Netzwerkprobleme auftreten. Diese Weitergabe der offiziellen Anime-Animation für den Eintritt ins Alter kann Ihnen sagen, was der konkrete Eintritt ist. Kommen Sie und schauen Sie sich das an! Wo ist der offizielle Zugang zur Altersanimation? http://age.tv Software-Einführung: 1. Die Software wird viele Animationen enthalten, sodass jeder umfassendere Comic-Inhalte sehen kann. 2. Die Animationen hier sind völlig kostenlos, sodass jeder Comics online lesen kann, ohne Geld auszugeben. 3. Sie können Animationen in der Software flüssiger ansehen. Die Animationen hier sind vielfältig

Teil 1: Erste Schritte zur Fehlerbehebung Überprüfen des Apple-Systemstatus: Bevor wir uns mit komplexen Lösungen befassen, beginnen wir mit den Grundlagen. Das Problem liegt möglicherweise nicht an Ihrem Gerät; die Server von Apple sind möglicherweise ausgefallen. Besuchen Sie die Systemstatusseite von Apple, um zu sehen, ob der AppStore ordnungsgemäß funktioniert. Wenn es ein Problem gibt, können Sie nur warten, bis Apple es behebt. Überprüfen Sie Ihre Internetverbindung: Stellen Sie sicher, dass Sie über eine stabile Internetverbindung verfügen, da das Problem „Verbindung zum AppStore nicht möglich“ manchmal auf eine schlechte Verbindung zurückzuführen ist. Versuchen Sie, zwischen WLAN und mobilen Daten zu wechseln oder die Netzwerkeinstellungen zurückzusetzen (Allgemein > Zurücksetzen > Netzwerkeinstellungen zurücksetzen > Einstellungen). Aktualisieren Sie Ihre iOS-Version:

Vue ist ein beliebtes JavaScript-Framework zum Erstellen von Benutzeroberflächen. Während des Entwicklungsprozesses können verschiedene Fehler und Ausnahmen auftreten. Einer der häufigsten Fehler ist „TypeError:Cannotreadproperty'XXX'ofnull“. In diesem Artikel untersuchen wir die Ursachen dieses Fehlers und wie man ihn beheben kann. Lassen Sie uns zunächst den Grund für diesen Fehler verstehen. Wenn wir versuchen, auf eine Eigenschaft oder Methode eines Objekts zuzugreifen, wenn das Paar

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code
