Ich grabe durch PHP (mit PHPStorm), um herauszufinden, wie Ausnahmen funktionieren, und ich laufe immer wieder über eine interessante Situation, wo Funktionen leere Blöcke haben.Warum scheint es, dass PHP-Kernfunktionen leere Blöcke haben?
function error_reporting ($level = null) {}
Und es ist nicht einzigartig:
Zum Beispiel in PHP Runtime/Core/Core.php
, die error_reporting
Funktion ist wie folgt definiert. Die Hinzu kommt, dass Dateien geht so (alle Dokumentation Kommentare ignorieren):
<?php
// Start of Core v.5.3.6-13ubuntu3.2
function zend_version() {}
function func_num_args() {}
function func_get_arg ($arg_num) {}
function func_get_args() {}
function strlen ($string) {}
Warum die Streben alle leer sind? Wenn ich durch andere Kerndateien schaue, sehe ich viele Funktionsdefinitionen, aber keinen tatsächlichen Code. Wo ist alles?
Diese sehen wie Stubdefinitionen aus, nicht tatsächliche Implementierungen. – tadman
Ich * denke * es ist innerhalb des PHP-Prozessors selbst. – aynber
Diese werden nur dort zur Verfügung gestellt, damit Ihre IDE Ihnen automatische Vervollständigung und ähnliche nützliche Funktionen zur Verfügung stellen kann. – Giedrius