Heim  >  Artikel  >  Backend-Entwicklung  >  Zusammenfassung von Funktionen und Klassen, die in PHP leicht übersehen werden

Zusammenfassung von Funktionen und Klassen, die in PHP leicht übersehen werden

伊谢尔伦
伊谢尔伦Original
2017-06-27 13:46:03913Durchsuche

1. PHP-Funktion Beurteilen Sie, ob die Funktion existiert

Als wir eine benutzerdefinierte Funktion erstellt und etwas über die Variablenfunktion erfahren haben: Um sicherzustellen, dass die vom Programm aufgerufene Funktion vorhanden ist, wird function_exists häufig verwendet, um festzustellen, ob die Funktion vorhanden ist. Dieselbe method_exists kann verwendet werden, um zu erkennen, ob eine Klassenmethode vorhanden ist.

function func() {
}
if (function_exists('func')){
 echo 'exists';
}

Ob die Klasse definiert ist, kann class_exists verwenden

class MyClass{
}
// 使用前检查类是否存在
if (class_exists('MyClass')) {
 $myclass = new MyClass();
}

Es gibt viele solcher Prüfmethoden in PHP, z. B. ob die Datei existiert, file_exists usw.

$filename = 'test.txt';
if (!file_exists($filename)) {
 echo $filename . ' not exists.';
}

2. Variablenfunktionen von PHP-Funktionen

Die sogenannte Variablenfunktion bedeutet den Aufruf einer Funktion über den Wert einer Variablen. Da der Wert einer Variablen variabel ist, kann er aufgerufen werden durch Ändern des Werts einer Variablen. Es wird häufig in Rückruffunktionen, Funktionslisten oder zum Aufrufen verschiedener Funktionen basierend auf dynamischen Parametern verwendet. Die Methode zum Aufrufen einer Variablenfunktion besteht darin, dem Variablennamen Klammern hinzuzufügen.

function name() {
 echo 'jobs';
}
$func = 'name';
$func(); //调用可变函数

Variablenfunktionen können auch zum Aufrufen von Methoden für Objekte verwendet werden

class book {
 function getName() {
  return 'bookname';
 }
}
$func = 'getName';
$book = new book();
$book->$func();

Statische Methoden können auch dynamisch über Variablen aufgerufen werden

$func = 'getSpeed';
$className = 'Car';
echo $className::$func(); //动态调用静态方法

Statische In-Methoden , darf die Pseudovariable $this nicht verwendet werden. Sie können self, parent und static verwenden, um statische Methoden und Eigenschaften intern aufzurufen.

class Car {
 private static $speed = 10;
 
 public static function getSpeed() {
  return self::$speed;
 }
 
 public static function speedUp() {
  return self::$speed+=10;
 }
}
class BigCar extends Car {
 public static function start() {
  parent::speedUp();
 }
}
BigCar::start();
echo BigCar::getSpeed();

3. Erweiterte Funktionen von PHP-Klassen und -Objekten

Objektvergleich: Wenn alle Attribute zweier Instanzen derselben Klasse gleich sind, können Sie den Vergleichsoperator == wird zur Beurteilung verwendet. Wenn Sie beurteilen müssen, ob zwei Variablen auf dasselbe Objekt verweisen, können Sie zur Beurteilung den Kongruenzoperator === verwenden.

class Car {
}
$a = new Car();
$b = new Car();
if ($a == $b) echo '=='; //true
if ($a === $b) echo '==='; //false
Kopieren von Objekten über das Schlüsselwort clone. Zu diesem Zeitpunkt werden die Attribute über diese

magische Methode Wert.

class Car {
 public $name = 'car';
 
 public function clone() {
  $obj = new Car();
  $obj->name = $this->name;
 }
}
$a = new Car();
$a->name = 'new car';
$b = clone $a;
var_dump($b);
Objektserialisierung

, Sie können das Objekt über die Serialisierungsmethode, die zum Speichern oder Übertragen von Daten verwendet wird, in eine Zeichenfolge serialisieren und die Zeichenfolge dann bei Bedarf durch Deserialisieren deserialisieren es in ein Objekt umwandeln und verwenden.

Das obige ist der detaillierte Inhalt vonZusammenfassung von Funktionen und Klassen, die in PHP leicht übersehen werden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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