[1.17] Namespaces

Dieser Bereich dient dazu, neue Features zu diskutieren und für die Entwicklung zu dokumentieren. // This area is dedicated to new features including proposals and documentation.
Gesperrt
TipTop
Beiträge: 193
Registriert: 25.08.2011, 22:37:08
Wohnort: Klagenfurt, Österreich
Kontaktdaten:

[1.17] Namespaces

Beitrag von TipTop » 21.12.2012, 20:00:08

Hallo zusammen.
Integration PHP-Namespaces in das APF:
  • Anpassen Klassen-Signaturen auf Namespace + Klasse (z.B. Singleton)
Wie soll das mit den Klassen-Signaturen jetzt genau aussehen? (am Beispiel von Singleton)

Code: Alles auswählen

namespace core[BS]Singleton;
class Singleton { 
    // ... 
}
 
  • Refactoring import() auf use
[/list]
Inwiefern hat der use-Operator was mit der import-Funktion zu tun?

Was haltet Ihr eigentlich davon, wenn wir uns bei den "APF-Namespaces" und der import-Funktion an Java orientieren?

Code: Alles auswählen

import('core.singleton.Singleton');

// alle PHP-Files eines Verzeichnisses importieren
import('site.biz.models.*');
@Christian: wann hattest Du geplant, die Umstellung auf Namensräume zu vollziehen?

Grüße
Nico

Benutzeravatar
dr.e.
Administrator
Beiträge: 4555
Registriert: 04.11.2007, 16:13:53

Re: [1.17] Namespaces

Beitrag von dr.e. » 21.12.2012, 20:22:15

Hi Nico,
Wie soll das mit den Klassen-Signaturen jetzt genau aussehen? (am Beispiel von Singleton)
Hier hatte ich an ein

Code: Alles auswählen

namespace APF[BS]core[BS]singleton

class Singleton {

} 
gedacht. Ich möchte auf jeden Fall "APF" als Vendor einbringen (siehe Vorschlag unter https://gist.github.com/1234504) - zumindest den Teil mit "Vendor".
Inwiefern hat der use-Operator was mit der import-Funktion zu tun?
Klassen sollen zukünftig statt mit

Code: Alles auswählen

import('core::singleton', 'Singleton') 
mit

Code: Alles auswählen

use APF[BS]core[BS]singleton[BS]Singleton
eingebunden werden. Damit erhälst du volle IDE-Unterstützung.
@Christian: wann hattest Du geplant, die Umstellung auf Namensräume zu vollziehen?
Ich würde dazu gerne zunächst einen POC durchführen, um zu validieren, ob die oben genannten Ideen auch so umsetzbar sind. Anschließend soll jedes PHP-File per Skript die entsprechenden Header bekommen und das import() wird ebenso ersetzt.

Zeitlich gesehen hatte ich mir das für's neue Jahr nach dem Refactoring der Klassen überlegt. Allerdings hat das Release 1.17 schon so viele Änderungen (siehe http://wiki.adventure-php-framework.org ... 6_auf_1.17) und es stehen aus 1.16 noch Bugfixes aus, dass ich schon drüber nachgedacht habe 1.17 sehr schnell als Maintenance-Release zu bringen und die Namespace-Geschichte auf 1.18 zu schieben...
Viele Grüße,
Christian

Benutzeravatar
jwlighting
Beiträge: 466
Registriert: 14.07.2010, 14:23:58
Wohnort: LK Oldenburg
Kontaktdaten:

Re: [1.17] Namespaces

Beitrag von jwlighting » 22.12.2012, 13:59:43

Da haben wir uns ja was vorgenommen :D
Allerdings hat das Release 1.17 schon so viele Änderungen (siehe http://wiki.adventure-php-framework.org ... 6_auf_1.17) und es stehen aus 1.16 noch Bugfixes aus, dass ich schon drüber nachgedacht habe 1.17 sehr schnell als Maintenance-Release zu bringen und die Namespace-Geschichte auf 1.18 zu schieben...
Das kann ich schon nachvollziehen. Zu Bedenken gebe ich aber auch, dass man bei einem gemeinsamen Release beider Änderungen als Anwender nur einmal alle nötigen Ersetzungen durchführen muss.
Andernfalls könnte man (-> Anwender) bis 1.18 warten und das Update auf 1.17 auslassen. Das wäre allerdings vermutlich auch nicht ganz in unserem Sinn..., oder?

LG :)

Menschen irren - Politiker sind Menschen.
Für den Norddeutschen ist 1kW = 2 Pfund Schlick.

Benutzeravatar
dr.e.
Administrator
Beiträge: 4555
Registriert: 04.11.2007, 16:13:53

Re: [1.17] Namespaces

Beitrag von dr.e. » 24.12.2012, 01:24:09

Andernfalls könnte man (-> Anwender) bis 1.18 warten und das Update auf 1.17 auslassen. Das wäre allerdings vermutlich auch nicht ganz in unserem Sinn..., oder?
Das ist ebenso absolut richtig. :roll: Ich schlage vor, wir warten den POC ab und schauen, was das bedeutet.
Viele Grüße,
Christian

Benutzeravatar
jwlighting
Beiträge: 466
Registriert: 14.07.2010, 14:23:58
Wohnort: LK Oldenburg
Kontaktdaten:

Re: [1.17] Namespaces

Beitrag von jwlighting » 01.01.2013, 19:13:04

Hallo Christian,

wenn wir die Namespaces schon mit 1.17 einführen wollen, würde ich beim APFelSMS im Zuge des Renamings für die Tag-Klassen auch gleich das führende 'SMS'-Prefix im Klassen/Interfacenamen beseitigen.
Ich baue jetzt erstmal die Tagklassen entsprechend um, das Prefix würde ich dann Nachgang entfernen.

LG :)
Jan

Menschen irren - Politiker sind Menschen.
Für den Norddeutschen ist 1kW = 2 Pfund Schlick.

Benutzeravatar
dr.e.
Administrator
Beiträge: 4555
Registriert: 04.11.2007, 16:13:53

Re: [1.17] Namespaces

Beitrag von dr.e. » 01.01.2013, 19:54:10

Klingt nach einem validen Plan. :)
Viele Grüße,
Christian

Benutzeravatar
jwlighting
Beiträge: 466
Registriert: 14.07.2010, 14:23:58
Wohnort: LK Oldenburg
Kontaktdaten:

Re: [1.17] Namespaces

Beitrag von jwlighting » 01.01.2013, 19:57:29

Eigentlich wollte ich mit meinem Beitrag nicht nur eine Absicht kundtun, sondern dich auch zu einer Entscheidung bewegen :D

LG ;)

Menschen irren - Politiker sind Menschen.
Für den Norddeutschen ist 1kW = 2 Pfund Schlick.

Benutzeravatar
dr.e.
Administrator
Beiträge: 4555
Registriert: 04.11.2007, 16:13:53

Re: [1.17] Namespaces

Beitrag von dr.e. » 01.01.2013, 20:37:29

Hab ich gemerkt, ich bin mir jedoch ohne POC immer noch nicht sicher, ob es eine gute Idee ist (siehe oben). Insofern würde ich gerne (immer noch) den POC abwarten und mich dann zu einer Aussage hinreissen lassen. ;)
Viele Grüße,
Christian

Gesperrt

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste