Includes Konstanten etc.

In diesem Forum gibt es Starthilfe zum neuen Extension-System von phpBB 3.1/3.2. Fragen zur Entwicklung von Extensions und zur Konvertierung von phpBB 3.0.x MODs sind ebenfalls willkommen.
Antworten
Benutzeravatar
D@ve
Ehemaliges Teammitglied
Beiträge: 3842
Registriert: 28.08.2002 19:33
Wohnort: Bretzfeld
Kontaktdaten:

Includes Konstanten etc.

Beitrag von D@ve »

Moin,
schön, dass es hier auch schon ein Forum für Extension Bastler gibt...
Arbeite mich da gerade rein und baue meine ganzen Mods um... Hab da noch eine Menge Fragen...


Gibt es eine Möglichkeit, global in Dateien der Extension (also ACP/MCP/UCP Module, Listener, etc) includes bekannt zu machen? Also zum Beispiel meine eigene constants.php für Tabellen-Bezeichner etc.?
Erscheint mir irgendwie nicht sonderlich elegant, dass in jeder Datei einzeln zu includieren. Kann man sowas nicht irgendwie global z.B. über die services.yml machen?

Wenn ja, wie?

Gruß, Dave
There are only 10 types of people in the world: Those who understand binary, and those who don't
Benutzeravatar
nickvergessen
Ehrenadmin
Beiträge: 11559
Registriert: 09.10.2006 21:56
Wohnort: Stuttgart, Germany
Kontaktdaten:

Re: Includes Konstanten etc.

Beitrag von nickvergessen »

Siehe viewtopic.php?p=1331542#p1331542
wenn du sie in den Namespace und eine Klasse packst brauchst du kein include.

Wenn du irgendwo \dave\extension\tables::TABLE1 verwendest, würde
die Klasse tables aus deiner Extension geladen und dann die Konstante davon verwendet.
kein Support per PN
Benutzeravatar
D@ve
Ehemaliges Teammitglied
Beiträge: 3842
Registriert: 28.08.2002 19:33
Wohnort: Bretzfeld
Kontaktdaten:

Re: Includes Konstanten etc.

Beitrag von D@ve »

Du meinst Konstanten in einer Klasse? Oder einfach quasi eine Klasse Constants die entsprechend statische member hat?
wenn du sie in den Namespace und eine Klasse packst brauchst du kein include.
Achso... Die ganzen Extension Files werden über den Namespace erkannt?
würde die Klasse tables aus deiner Extension geladen
Gibt es da einen Classloader, welcher die Klassen nach bedarf lädt, oder wird direkt immer pauschal alles eingebunden?

Gruß, Dave
There are only 10 types of people in the world: Those who understand binary, and those who don't
Benutzeravatar
nickvergessen
Ehrenadmin
Beiträge: 11559
Registriert: 09.10.2006 21:56
Wohnort: Stuttgart, Germany
Kontaktdaten:

Re: Includes Konstanten etc.

Beitrag von nickvergessen »

D@ve hat geschrieben:Du meinst Konstanten in einer Klasse? Oder einfach quasi eine Klasse Constants die entsprechend statische member hat?
ersteres:
https://github.com/nickvergessen/phpbb- ... ge.php#L27
D@ve hat geschrieben:
wenn du sie in den Namespace und eine Klasse packst brauchst du kein include.
Achso... Die ganzen Extension Files werden über den Namespace erkannt?
Richtig, die klasse \nickvergessen\newspage\controller\main wird in der Datei ext/nickvergessen/newspage/controller/main.php vermutet. Wenn vorhanden wir sie geladen.
D@ve hat geschrieben:
würde die Klasse tables aus deiner Extension geladen
Gibt es da einen Classloader, welcher die Klassen nach bedarf lädt, oder wird direkt immer pauschal alles eingebunden?
Das dürfte auf anfrage passieren:
https://github.com/phpbb/phpbb/blob/dev ... p#L87-L101
kein Support per PN
Benutzeravatar
D@ve
Ehemaliges Teammitglied
Beiträge: 3842
Registriert: 28.08.2002 19:33
Wohnort: Bretzfeld
Kontaktdaten:

Re: Includes Konstanten etc.

Beitrag von D@ve »

ersteres:
Naja, das scheitert zum Beispiel bei den Tabellen daran, dass man Klassenkonstanten keine variablen Werte zuweisen kann...
There are only 10 types of people in the world: Those who understand binary, and those who don't
Antworten

Zurück zu „Extension Bastelstube“