Um Namespaces in PHP-Erweiterungen zu verwenden, setzen Sie im Grunde nur ein Präfix vor den Klassen- oder Funktionsnamen.
Ich bin nicht wirklich ein Interner Entwickler von PHP, so dass die Details nicht ganz klar sind, wie das funktioniert, leider gibt es sehr, sehr wenige Informationen online, die ich auch finden konnte (ich habe Google wirklich durchgestellt) es sind Schritte), und der Artikel unten ist der beste, den ich finden konnte.
Es scheint jedoch, dieser Artikel weist auf die richtige Lösung, die zu sein scheint, dass, wenn Sie die Funktion mit dem Motor/PHP-Interna Zend registrieren, Sie tun so wie "myNS\\MyFunc"
und es sollte dann zugänglich sein, von der myNS
definiert Dort. Ich würde damit ein paar verschiedene Varianten ausprobieren und sehen, wie weit dich das bringt.
Ihre beste Option wäre, in # php-internals auf Freenode (wenn Sie eine Einladung erhalten) oder auf der PHP Mailing-Liste zu fragen.
Wenn Sie es schaffen, eine Lösung zu finden, scheint das Internet einen guten Artikel darüber zu benötigen, wie man dies erreichen könnte.
Quelle http://www.php-cpp.com/documentation/namespaces
Ein Namensraum ist nichts anderes als eine Klasse oder Funktion Präfix. Wenn Sie möchten, dass Ihre Klassen oder Funktionen in einem bestimmten Namespace angezeigt werden, müssen Sie dem Klassen- oder Funktionsnamen einfach ein Präfix hinzufügen ....
Update: Ich habe meine Antwort aktualisiert, um mehr zu sein klar. Es tut mir leid, dass es so lange gedauert hat. Ich antwortete ursprünglich während meiner Reise von meinem Telefon aus, mit der Absicht, zurück zu kommen und auf Ihren ursprünglichen Kommentar zu antworten, aber ich habe es wirklich vergessen, bis ich eine Benachrichtigung von SO über Kommentare bekam. Entschuldigen Sie.
Ja, das ist völlig in Ordnung, ich benutze es normalerweise nicht, weil ich bei der 1 Klasse pro Datei bleibe. An, egal, ich habe deinen anderen Kommentar gesehen, du möchtest vielleicht den Titel hinzufügen, damit er besser sichtbar ist. – ArtisticPhoenix
@ArtisiticPhoenix Ich glaube nicht, dass du meine Frage verstanden hast. Ich weiß, dass ich es in PHP machen kann. Ich möchte wissen * wie * es in einer C-Erweiterung zu tun. – murgatroid99
@ murgatroid99 Tut ich jetzt, tut mir leid. Gibt es ein Tag für C? das könnte auch helfen. – ArtisticPhoenix