国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Heim Backend-Entwicklung PHP-Tutorial Ausführliche Erl?uterung h?ufig verwendeter Schlüsselw?rter und magischer Methoden in PHP objektorientiert

Ausführliche Erl?uterung h?ufig verwendeter Schlüsselw?rter und magischer Methoden in PHP objektorientiert

Jul 10, 2017 am 11:46 AM
php Schlüsselw?rter Gebraucht

1.construct()

Das instanziierte Objekt wird automatisch aufgerufen. Konstrukt wird aufgerufen, wenn Konstrukt und die Funktion mit dem Klassennamen und dem Funktionsnamen gleichzeitig existieren und die andere nicht aufgerufen wird.

Die Funktion mit dem Klassennamen und dem Funktionsnamen ist die alte Version des Konstruktors.

2.destruct()

wird aufgerufen, wenn ein Objekt gel?scht wird oder wenn eine Objektoperation endet.

3.call()

Das Objekt ruft eine Methode auf. Wenn die Methode nicht vorhanden ist, rufen Sie diese Methode auf

4.get()

Eine Objekteigenschaft lesen. Wenn die Objekteigenschaft privat ist, wird sie aufgerufen

5 . set()

Beim Zuweisen eines Werts zu einer Objekteigenschaft wird dieser aufgerufen, wenn die Eigenschaft privat ist

6.toString()

Es wird aufgerufen, wenn Drucken eines Objekts.

7.clone()

Wird beim Klonen eines Objekts aufgerufen, z. B.: $a=new test(); $a1=clone $a;

8.sleep ( )

Serialize wurde zuvor aufgerufen. Wenn das -Objekt gr??er als ist und Sie w?hrend der Serialisierung etwas l?schen m?chten, k?nnen Sie es verwenden.

9.wakeup()

wird aufgerufen, wenn Unserialize verwendet wird, um einige Objektinitialisierungsarbeiten durchzuführen.

10.isset()

Erkennt, ob die Attribute eines Objekts vorhanden sind. Wenn das erkannte Attribut privat ist, wird es aufgerufen.

11.unset()

Wenn beim L?schen eines Objektattributs das gel?schte Objektattribut privat ist, wird es

12.set_state()

Wird aufgerufen, wenn var_export aufgerufen wird. Verwenden Sie den Rückgabewert von set_state als Rückgabewert von var_export.

13.autoload()

Wenn beim Instanziieren eines Objekts die entsprechende Klasse nicht vorhanden ist, wird diese Methode verwendet.


Der folgende Editor bietet Ihnen eine ausführliche Diskussion über

PHP-objektorientierte h?ufig verwendete Schlüsselw?rter und magische Methoden . Der Herausgeber findet es ziemlich gut, deshalb teile ich es jetzt mit Ihnen und gebe es als Referenz. Folgen wir dem Editor und werfen wir einen Blick darauf

H?ufig verwendete Schlüsselw?rter in PHP objektorientiert

final

1. Final kann keine Mitgliedsattribute ?ndern (dieses Schlüsselwort wird nicht für Konstanten in Klassen verwendet)

2. Final kann nur Klassen und Methoden ?ndern

Funktion:

Mit final ge?nderte Klassen k?nnen nicht von Unterklassen geerbt werden

Mit final ge?nderte Methoden k?nnen nicht von Unterklassen überschrieben werden

Wird verwendet, um die Existenz von Klassen einzuschr?nken geerbt, Methoden Wenn nicht überschrieben, verwenden Sie final

<?php
//final修飾的類不能被繼承
final class Person{
  var $name;
  var $age;
  var $sex;

  function construct($name,$age,$sex){
    $this->name=$name;
    $this->age=$age;
    $this->sex=$sex;
  }

  function fun1(){
    echo $this->name;
  }
}

//Student類繼承類用final修飾的Person類,所以會(huì)報(bào)錯(cuò)
class Student extends Person{
}

$stu=new Student("zs",20,"nan");

$stu->fun1();
?>

static (statisches Schlüsselwort)

1. Verwenden Sie static, um Mitgliedseigenschaften zu ?ndern und Mitgliedsmethoden k?nnen die Klasse nicht ?ndern

2. Mit Statik ge?nderte Mitgliedsattribute k?nnen von allen Objekten derselben Klasse gemeinsam genutzt werden

3 Statische Daten werden im Datensegment im Speicher gespeichert (initialisiert). statisches Segment)

4. Statische Daten werden dem Speicher zugewiesen, wenn die Klasse in Zukunft verwendet wird, werden sie direkt aus dem Datensegment abgerufen

5. Was wird in der Klasse geladen? Solange diese Klasse im Programm verwendet wird (dieser Klassenname erscheint)

6 Statische Methoden (statische modifizierte Methoden) k?nnen nicht auf nicht statische Mitglieder zugreifen (auf statische Mitglieder kann in nicht statischen Methoden zugegriffen werden)

Da auf nicht-statische Mitglieder über Objekte zugegriffen werden muss, muss $this für den Zugriff auf interne Mitglieder verwendet werden. Statische Methoden müssen nicht mit Objekten aufgerufen werden, daher gibt es kein Objekt und $this kann kein Objekt darstellen. Es ist nicht statisch. Mitglieder müssen auch Objekte verwenden

Wenn Sie sicher sind, dass in einer Methode keine nicht statischen Mitglieder verwendet werden, k?nnen Sie diese Methode als statische Methode deklarieren

Hinweis: Statische Mitglieder müssen Klassennamen verwenden. Für den Zugriff dürfen Sie keine

Objekte erstellen und keine Objekte für den Zugriff verwenden.

Klassenname::statische Mitglieder

Wenn Sie statische Mitglieder verwenden in eine Klasse, Sie k?nnen self verwenden, um diese Klasse darzustellen

const

1 Es k?nnen nur Mitgliedsattribute ge?ndert werden

2. Verwenden Sie const

<, um konstante Attribute in einer Klasse zu deklarieren ??>3. Die Zugriffsmethode ist dieselbe wie bei statischen Mitgliedseigenschaften (verwenden Sie Klassenname::constant au?erhalb der Klasse und self::constant innerhalb der Klasse)

4. Konstanten müssen bei der Deklaration Anfangswerte erhalten

<?php
//定義一個(gè)類“人們”
class Person{
  protected $name;
  protected $age;
  protected $sex;
  static $country="中國(guó)";
  //聲明一個(gè)常量
  const RUN="走";

  //構(gòu)造方法
  function construct($name,$age,$sex){
    $this->name=$name;
    $this->age=$age;
    $this->sex=$sex;
  }

  function getCountry(){
    //如果在類中使用靜態(tài)成員,可以使用self代表本類
    return self::$country;
  }

  function say(){
    echo "我的名字:{$this->name},我的年齡:{$this->age},我的性別:{$this->sex}。<br>";
  }

  protected function eat(){
    echo "吃飯!<br>";
  }

  function run(){
    //在類的內(nèi)部使用常量 self::常量
    echo self::RUN."<br>";
  }

  //聲明靜態(tài)的方法
  static function hello(){
    echo "你好<br>";
  }
}

Magische Methoden, die üblicherweise in PHP objektorientiert verwendet werden

call() Funktion: Beim Aufruf einer Methode, die im Objekt nicht vorhanden ist, erscheint ein Systemfehler und dann das Programm wird beendet.

Wann automatisch aufgerufen werden soll: Der Aufruf erfolgt automatisch, wenn eine Methode aufgerufen wird, die in einem Objekt nicht vorhanden ist.

Behandelt einige nicht vorhandene Fehleraufrufe.

Diese Methode erfordert zwei Parameter

<?php
//定義一個(gè)類“人們”
class Person{
  protected $name;
  protected $age;
  protected $sex;
  static $country="中國(guó)";
  //聲明一個(gè)常量
  const RUN="走";

  //構(gòu)造方法
  function construct($name,$age,$sex){
    $this->name=$name;
    $this->age=$age;
    $this->sex=$sex;
  }

  function getCountry(){
    //如果在類中使用靜態(tài)成員,可以使用self代表本類
    return self::$country;
  }

  function say(){
    echo "我的名字:{$this->name},我的年齡:{$this->age},我的性別:{$this->sex}。<br>";
  }

  protected function eat(){
    echo "吃飯!<br>";
  }

  function run(){
    //在類的內(nèi)部使用常量 self::常量
    echo self::RUN."<br>";
  }

  //處理一些不存在的錯(cuò)誤調(diào)用
  //就會(huì)在調(diào)用一個(gè)對(duì)象中不存在的方法時(shí)就會(huì)自動(dòng)調(diào)用
  function call($methodName,$args){
    //$methodName調(diào)用不存在方法的方法名 $args里面的參數(shù)
    echo "你調(diào)用的方法{$methodName}(參數(shù):";
    print_r($args);
    echo ")不存在<br>";
  }

  //聲明靜態(tài)的方法
  static function hello(){
    echo "你好<br>";
  }
}

$p=new Person("張三",20,"女");

$p->test(10,20,30);
$p->demo("aa","bb");
$p->say();
?>

toString() wird automatisch aufgerufen, wenn eine Objektreferenz direkt ausgegeben wird, um schnell den durch a dargestellten Maximalwert zu erhalten string. Schnelle Methode

<?php
//定義一個(gè)類“人們”
class Person{
  protected $name;
  protected $age;
  protected $sex;
  static $country="中國(guó)";
  //聲明一個(gè)常量
  const RUN="走";

  //構(gòu)造方法
  function construct($name,$age,$sex){
    $this->name=$name;
    $this->age=$age;
    $this->sex=$sex;
  }

  function say(){
    echo "我的名字:{$this->name},我的年齡:{$this->age},我的性別:{$this->sex}。<br>";
  }

  function toString(){
    return self::$country."<br>{$this->name}<br>{$this->age}<br>{$this->sex}<br>".self::RUN;
  }
}

$p=new Person("張三",21,"女");
echo $p;
?>

clone()Klonobjekt wird mit clone() verarbeitet

Original ( ursprüngliches Objekt)

Kopieren (kopiertes Objekt)

clone() ist eine Methode, die automatisch beim Klonen eines Objekts aufgerufen wird

Sobald ein Objekt erstellt wird, muss es initialisiert werden Die Aktion ?hnelt dem Konstruktor construct

在clone()方法中的$this關(guān)鍵字代表的是復(fù)本的對(duì)象,$that代表原本對(duì)象

<?php
//定義一個(gè)類“人們”
class Person{
  var $name;
  protected $age;
  protected $sex;
  static $country="中國(guó)";
  //聲明一個(gè)常量
  const RUN="走";

  //構(gòu)造方法
  function construct($name,$age,$sex){
    $this->name=$name;
    $this->age=$age;
    $this->sex=$sex;
  }

  function say(){
    echo "我的名字:{$this->name},我的年齡:{$this->age},我的性別:{$this->sex}。<br>";
  }

  function clone(){
    $this->name="王五";
    $this->age=18;
    $this->sex="男";
  }

  function destruct(){
    echo $this->name."<br>";
  }
}

$p=new Person("張三",21,"女");
$p->say();
//這并不能叫做克隆對(duì)象,因?yàn)樵谖鰳?gòu)時(shí)只析構(gòu)一次
/*$p1=$p;
$p1->name="李四";
$p1->say();*/

$p1= clone $p;
$p1->say();
?>

autoload()

注意:其它的魔術(shù)方法都是在類中添加起作用,這是唯一一個(gè)不在類中添加的方法

只要在頁(yè)面中使用到一個(gè)類,只要用到類名,就會(huì)自動(dòng)將這個(gè)類名傳給這個(gè)參數(shù)

<?php
function autoload($className){
  include "./test/".$className.".class.php";
}

  $o=new One;
  $o->fun1();  

  $t=new Two;
  $t->fun2();

  $h=new Three;
  $h->fun3();

?>

test里的文件

one.class.php

<?php
class One{
  function fun1(){
    echo "The Class One<br>";
  }
}
?>

two.class.php

<?php
class Two{
  function fun2(){
    echo "The Class Two<br>";
  }
}
?>

three.class.php

<?php
class Three{
  function fun3(){
    echo "The Class Three<br>";
  }
}
?>

對(duì)象串行化(序列化):將一個(gè)對(duì)象轉(zhuǎn)為二進(jìn)制串(對(duì)象是存儲(chǔ)在內(nèi)存中的,容易釋放)

使用時(shí)間:

1.將對(duì)象長(zhǎng)時(shí)間存儲(chǔ)在數(shù)據(jù)庫(kù)或文件中時(shí)

2.將對(duì)象在多個(gè)PHP文件中傳輸時(shí)

serialize(); 參數(shù)是一個(gè)對(duì)象,返回來(lái)的就是串行化后的二進(jìn)制串

unserialize(); 參數(shù)就是對(duì)象的二進(jìn)制串,返回來(lái)的就是新生成的對(duì)象

sleep()

是在序列化時(shí)調(diào)用的方法

作用:就是可以將一個(gè)對(duì)象部分串行化

只要這個(gè)方法中返回一個(gè)數(shù)組,數(shù)組中有幾個(gè)成員屬性就序列化幾個(gè)成員屬性,如果不加這個(gè)方法,則所有成員都被序列化

wakeup()

是在反序列化時(shí)調(diào)用的方法

也是對(duì)象重新誕生的過(guò)程

<?php
//定義一個(gè)類“人們”
class Person{
  var $name;
  protected $age;
  protected $sex;
  static $country="中國(guó)";
  //聲明一個(gè)常量
  const RUN="走";

  //構(gòu)造方法
  function construct($name,$age,$sex){
    $this->name=$name;
    $this->age=$age;
    $this->sex=$sex;
  }

  function say(){
    echo "我的名字:{$this->name},我的年齡:{$this->age},我的性別:{$this->sex}。<br>";
  }

  function clone(){
    $this->name="王五";
    $this->age=18;
    $this->sex="男";
  }

  //是在序列化時(shí)調(diào)用的方法,可以部分串行化對(duì)象
  function sleep(){
    return array("name","age");
  }

  //是在反序列化時(shí)調(diào)用的方法,也是對(duì)象重新誕生的過(guò)程??梢愿淖兝锩娴闹?
  function wakeup(){
    $this->name="sanzhang";
    $this->age=$this->age+1;
  }

  function destruct(){

  }
}
?>

read.php

<?php
  require "11.php";
  
  $str=file_get_contents("mess.txt");
  $p=unserialize($str);

  echo $p->say();
?>

write.php

<?php
  require "11.php";

  $p=new Person("張三",18,"男");

  $str=serialize($p);

  file_put_contents("mess.txt",$str);
?>

Das obige ist der detaillierte Inhalt vonAusführliche Erl?uterung h?ufig verwendeter Schlüsselw?rter und magischer Methoden in PHP objektorientiert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erkl?rung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Hei?e KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?e Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie bekomme ich die aktuelle Sitzungs -ID in PHP? Wie bekomme ich die aktuelle Sitzungs -ID in PHP? Jul 13, 2025 am 03:02 AM

Die Methode, um die aktuelle Sitzungs -ID in PHP abzurufen, besteht darin, die Funktion seision_id () zu verwenden. Sie müssen jedoch Session_start () aufrufen, um sie erfolgreich zu erhalten. 1. CALL Session_Start (), um die Sitzung zu starten; 2. Verwenden Sie Session_id (), um die Sitzungs -ID zu lesen und eine Zeichenfolge auszugeben, die wie ABC123DEF456GHI789 ?hnelt; 3. Wenn die Rückgabe leer ist, prüfen Sie, ob Session_Start () fehlt, ob der Benutzer zum ersten Mal zugreift oder ob die Sitzung zerst?rt wird. V. Stellen Sie sicher, dass die Sitzung korrekt aktiviert ist und die ID erfolgreich erhalten werden kann.

PHP erhalten Substring von einer Zeichenfolge PHP erhalten Substring von einer Zeichenfolge Jul 13, 2025 am 02:59 AM

Um Substrings aus PHP -Zeichenfolgen zu extrahieren, k?nnen Sie die Substr () -Funktion verwenden, die Syntax -Substr (String $ String, int $ start, int $ l?nge = null) ist, und wenn die L?nge nicht angegeben ist, wird sie am Ende abgefangen. Bei der Verarbeitung von Multi-Byte-Zeichen wie Chinesisch sollten Sie die Funktion mb_substr () verwenden, um verstümmelte Code zu vermeiden. Wenn Sie die Zeichenfolge nach einem bestimmten Trennzeichen abfangen müssen, k?nnen Sie exploit () oder substr () zum Implementieren verwenden, z. B. das Extrahieren von Dateinamenverl?ngerungen oder Dom?nennamen.

Wie führen Sie Unit -Tests für PHP -Code durch? Wie führen Sie Unit -Tests für PHP -Code durch? Jul 13, 2025 am 02:54 AM

UnittestinginphpinvolvesverifikationIndividualCodeUnits ?hnliche Funktionen-SetupphpunitviaComposer, CreateTeTeTD-Verzeichnis und Konfigurationsthearrange-Assertpat, writestcasesFoughingthearrarroadandhpunit.xml.2), writestcasesflowingthearrrange

So teilen Sie eine Zeichenfolge in ein Array in PHP auf So teilen Sie eine Zeichenfolge in ein Array in PHP auf Jul 13, 2025 am 02:59 AM

In PHP besteht die h?ufigste Methode darin, die Zeichenfolge mithilfe der Funktion exploit () in ein Array aufzuteilen. Diese Funktion unterteilt die Zeichenfolge in mehrere Teile durch den angegebenen Trennzeichen und gibt ein Array zurück. Die Syntax ist Exploit (Separator, String, Grenze), wobei der Trennzeichen der Trennzeichen ist, die Zeichenfolge ist die ursprüngliche Zeichenfolge und die Grenze ist ein optionaler Parameter, um die maximale Anzahl von Segmenten zu steuern. Zum Beispiel $ str = "Apple, Banane, Orange"; $ arr = explode (",", $ str); Das Ergebnis ist ["Apple", "Bana

JavaScript -Datentypen: Primitive VS -Referenz JavaScript -Datentypen: Primitive VS -Referenz Jul 13, 2025 am 02:43 AM

JavaScript -Datentypen sind in primitive Typen und Referenztypen unterteilt. Zu den primitiven Typen geh?ren String, Anzahl, Boolesche, Null, undefiniertes und Symbol. Die Werte sind unver?nderlich und Kopien werden bei der Zuweisung von Werten kopiert, sodass sie sich nicht gegenseitig beeinflussen. Referenztypen wie Objekte, Arrays und Funktionen speichern Speicheradressen, und Variablen, die auf dasselbe Objekt zeigen, wirkt sich gegenseitig aus. Typeof und Instanz k?nnen verwendet werden, um die Typen zu bestimmen, aber auf die historischen Probleme der TypeOfnull zu achten. Das Verst?ndnis dieser beiden Arten von Unterschieden kann dazu beitragen, einen stabileren und zuverl?ssigeren Code zu schreiben.

Verwenden Sie STD :: Chrono in C. Verwenden Sie STD :: Chrono in C. Jul 15, 2025 am 01:30 AM

STD :: CHRONO wird in C verwendet, um die Zeit zu verarbeiten, einschlie?lich des Erhaltens der aktuellen Zeit, der Messung der Ausführungszeit, der Betriebszeit und -dauer und der Formatierungsanalysezeit. 1. Verwenden Sie std :: chrono :: system_clock :: Now (), um die aktuelle Zeit zu erhalten, die in eine lesbare Zeichenfolge konvertiert werden kann, aber die Systemuhr ist jedoch m?glicherweise nicht eint?nig. 2. Verwenden Sie STD :: Chrono :: Steady_clock, um die Ausführungszeit zu messen, um die Monotonie zu gew?hrleisten, und umwandeln Sie sie durch Duration_cast in Millisekunden, Sekunden und andere Einheiten; 3. Zeitpunkt (Time_Point) und Dauer (Dauer) k?nnen interoperabel sein, aber die Aufmerksamkeit der Einheitenkompatibilit?t und der Uhr -Epoche (Epoche) sollte beachtet werden.

Was ist die sp?te statische Bindung in PHP? Was ist die sp?te statische Bindung in PHP? Jul 13, 2025 am 02:36 AM

NeuestaticbindingInphpallowsStatic :: TorefertotheclassinitialcalledatruntimininHeritancescenarios.vorphp5.3, self :: ImmerReferenceTtheClasswherethodhemethemethemethemetheDodwasdefined, UryingChildCass :: Sayhello () Toutput "Elternklasse"

Wie übergeben Sie eine Sitzungsvariable an eine andere Seite in PHP? Wie übergeben Sie eine Sitzungsvariable an eine andere Seite in PHP? Jul 13, 2025 am 02:39 AM

Um eine Sitzungsvariable an eine andere Seite zu übergeben, besteht der Schlüssel darin, die Sitzung korrekt zu starten und den gleichen $ _Session -Schlüsselnamen zu verwenden. 1. Bevor Sie Sitzungsvariablen für jede Seite verwenden, muss sie als Session_start () bezeichnet und vor dem Skript platziert werden. 2. Setzen Sie Sitzungsvariablen wie $ _Session ['Benutzername'] = 'Johndoe' auf der ersten Seite; 3. Nachdem Sie Session_start () auf einer anderen Seite aufgerufen haben, greifen Sie auf die Variablen über denselben Schlüsselnamen zu. 4. Stellen Sie sicher, dass Session_Start () auf jeder Seite aufgerufen wird, vermeiden Sie im Voraus, Inhalte auszugeben, und überprüfen Sie, ob der Sitzungsspeicher auf dem Server beschreibbar ist. 5. Verwenden Sie SES

See all articles