[2.xx] Ideensammlung

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.
Apocalypse
Beiträge: 4
Registriert: 26.05.2011, 10:48:49

Re: [2.xx] Ideensammlung

Beitrag von Apocalypse » 26.05.2011, 23:19:42

Wäre es nicht auch möglich, ein ORM auf PDO-Basis zu bauen? PDO bildet doch eigentlich schon eine Abstraktionsschicht für den Zugriff auf verschiedene Datenbanken - wenn auch nicht perfekt. Ein Nachteil wäre sicherlich, dass als Mindestanforderung PHP 5.1 vorausgesetzt wird - meiner Meinung nach allerdings nicht allzu tragisch.

Megger
Beiträge: 1233
Registriert: 04.11.2008, 10:57:37

Re: [2.xx] Ideensammlung

Beitrag von Megger » 27.05.2011, 09:05:30

PDO ist glaube ich bereits angedacht
Tutorial: Browsergame mit dem APF (Die ersten Parts handeln von Installation und Inbetriebnahme des APFs, deswegen sicherlich auch für alle Nicht-Browsergame-Programmierer interessant)

APF-Version
  • Entwicklung: 2.0
  • Produktiv: 1.15

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

Re: [2.xx] Ideensammlung

Beitrag von dr.e. » 27.05.2011, 15:50:23

Korrekt, das ist angedacht. In diesem Zusammenhang vermutlich auch ein Refactoring des bisherigen Interfaces für Datenbank-Treiber, da diese momentan nur auf die mysql- und mysqli-Extensions "eingehen". Und mit PDO habe ich mich noch nicht allzu ausführlich beschäftigt, das Manual sagt dazu aber ein klares
PDO bietet eine Abstraktionsschicht für den Datenzugriff, das bedeutet, dass Sie, egal welche Datenbank Sie benutzen, dieselben Funktionen verwenden können, um Abfragen zu erstellen und Daten zu lesen. PDO bietet keine Abstraktion für Datenbanken. Es schreibt keine SQL-Abfragen um oder emuliert fehlende Features. Sie sollten eine komplette Abstraktionsschicht verwenden, wenn Sie diese Funktionalität benötigen.
Insofern müsste man sich tatsächlich ein Virtualisierungs-Konzept für den GORM basierend auf Datenbank-Connections (heute schon möglich) überlegen.
Viele Grüße,
Christian

Well
Beiträge: 263
Registriert: 25.10.2009, 11:00:19
Wohnort: Beuren
Kontaktdaten:

Re: [2.xx] Ideensammlung

Beitrag von Well » 08.06.2011, 00:49:14

Wenn ich das mal in den Thread werfen darf: Wie sieht es eigentlich mit dem CLI aus?

Ich persönlich würde es sehr begrüßen, wenn ich das APF auch für solche Anwendungen nutzen könnte ... (Wobei ich denke, dass ich da der einzige hier im Forum sein werde ... :lol: )

Benutzeravatar
MrNiceGuy
Beiträge: 749
Registriert: 03.02.2009, 16:49:42
Wohnort: Nienburg / Weser

Re: [2.xx] Ideensammlung

Beitrag von MrNiceGuy » 08.06.2011, 08:30:36

Man kann PHP-Scripte auf der CLI nutzen, allerdings weiß ich nicht, warum man das sollte!? Für die User-Interaktion bietet sich ein Shell-Script eher an, da PHP meines Wissens nach keine Möglichkeit bietet z.B. Tastatureingaben abzufangen / auszulesen?! Du könntest also höchstens einen automatisierten Job ausführen - korrigiert mich, wenn ich mich irre...

EDIT: Ansonsten kannst du das APF ja aber schon auf der CLI nutzen, was fehlt dir denn in diesem Zusammenhang?
There are only 10 Types of people in the world:
Those who understand binary and those who don't.

Benutzeravatar
MrNiceGuy
Beiträge: 749
Registriert: 03.02.2009, 16:49:42
Wohnort: Nienburg / Weser

Re: [2.xx] Ideensammlung

Beitrag von MrNiceGuy » 08.06.2011, 08:37:37

Neue Idee: Wegen diesem Thread hier kam ich auf folgende Idee:

Für das APF 2.0 wäre eine überarbeitete Verzeichnis-Struktur und Namensgebung toll, sodass man eine AutoLoad-Funktion out-of-the-box mitliefern würde. Das würde helfen derartige Fehler zu vermeiden und man müsste noch weniger schreiben als ohnehin schon. Die AutoLoad-Funktion könnte man ja auch optional machen, aber für ein derartiges Feature müsste die Namensgebung und/oder die Verzeichnis-Struktur grundlegend überarbeitet werden...
There are only 10 Types of people in the world:
Those who understand binary and those who don't.

Well
Beiträge: 263
Registriert: 25.10.2009, 11:00:19
Wohnort: Beuren
Kontaktdaten:

Re: [2.xx] Ideensammlung

Beitrag von Well » 08.06.2011, 12:47:35

Für die User-Interaktion bietet sich ein Shell-Script eher an, da PHP meines Wissens nach keine Möglichkeit bietet z.B. Tastatureingaben abzufangen / auszulesen?! Du könntest also höchstens einen automatisierten Job ausführen - korrigiert mich, wenn ich mich irre...
http://php.net/manual/de/features.commandline.php -> CLI-spezifische Konstanten -> STDIN
Zudem gibt es auch eine ncurses Erweiterung für PHP: http://de2.php.net/manual/de/book.ncurses.php ;)
EDIT: Ansonsten kannst du das APF ja aber schon auf der CLI nutzen, was fehlt dir denn in diesem Zusammenhang?
Hm, so arg darüber nachgedacht habe ich noch gar nicht. Der Unterschied wäre ja, dass man irgendwo eine Hauptschleife implementieren müsste. Dazu wäre das View für so eine Anwendung nicht zu gebrauchen, da die Präsentationsschicht ja nur noch aus echo-Anweisungen oder ncurses Funktionen bestünde, was ja alles in den Controller müsste ... Da aber die Hauptschleife zur Logikschicht gehörte, müsste es eine Möglichkeit geben, die Präsentationsschicht von dort aus zu steuern ... Oder so ... :)

Benutzeravatar
MrNiceGuy
Beiträge: 749
Registriert: 03.02.2009, 16:49:42
Wohnort: Nienburg / Weser

Re: [2.xx] Ideensammlung

Beitrag von MrNiceGuy » 08.06.2011, 13:17:35

Oh, gut zu wissen, dass auch Eingaben über STDIN abgefangen werden können, das wusste ich bis dato noch garnicht, danke für den Hinweis.

Nunja, die Verarbeitung kann trotzdem generell über das APF erfolgen, da auch hier nur Text generiert und ausgegeben wird. Man müsste im Grunde "nur" eine Schleife drumherum bauen und aus den Templates eben kein HTML generieren lassen, sondern reinen Text, möglich wäre das also - sofern man nicht anfängt und HTML-Formulare generiert... Ist aber sehr theoretisch irgendwie!?
There are only 10 Types of people in the world:
Those who understand binary and those who don't.

Benutzeravatar
Screeze
Beiträge: 1920
Registriert: 05.08.2009, 09:49:04
Kontaktdaten:

Re: [2.xx] Ideensammlung

Beitrag von Screeze » 08.06.2011, 13:44:10

Was genau willst du denn machen? Ich benutze das APF auf cli für Hintergrundtasks die alle 10 minuten per cronjob ausgeführt werden, das geht Problemlos

Well
Beiträge: 263
Registriert: 25.10.2009, 11:00:19
Wohnort: Beuren
Kontaktdaten:

Re: [2.xx] Ideensammlung

Beitrag von Well » 09.06.2011, 09:15:02

Screeze hat geschrieben:Was genau willst du denn machen? Ich benutze das APF auf cli für Hintergrundtasks die alle 10 minuten per cronjob ausgeführt werden, das geht Problemlos
Na ja, ich nutze das CLI eben gerne für "richtige" Anwendungen. Bis jetzt sähe das Schema dafür ja so aus: Bootstrapsdatei -> Hauptview -> Controller -> Manager -> Hauptschleife -> Irgendwie weitere Controller aufrufen. Das kommt mir etwas ... Doof vor. Bis jetzt habe ich mir für den "Start" (ohne Framework) immer so eine Klasse geschrieben.

Aber gut, es war nur ein Gedanke. :)

welworx
Beiträge: 620
Registriert: 27.09.2010, 19:29:44

Re: [2.xx] Ideensammlung

Beitrag von welworx » 09.06.2011, 14:40:43

Muss gestehen dass ich nicht den ganzen Post mitverfolgt habe, aber ich hatte gerade eine idee, die meines Erachtens sehr hilfreich wäre:

Es wäre toll, wenn man eine Software hätte, die einem ein Projekt anhand ausgewählter Bootstrap dateien analysiert und dann all jene dateien und module die benötigt werden in ein Verzeichnis kopiert.

Wozu das ganze?

Man zieht sich das Framework vom Server, entwickelt dann irgendwas, und am ende wenn man das einsetzten will, kopiert man meist alles auf den server. Sprich auch viele unnötigen Module die man eigentlich garnicht braucht. Das könnte damit eingespart werden, und die Endapplikation wäre deutlich sauberer.

Weiters wäre es sehr praktisch, wenn man in jedem Modul eine Versionsangabe hätte, damit man beim update leichter sehen kann, was man noch nicht aktualisiert hat.

Well
Beiträge: 263
Registriert: 25.10.2009, 11:00:19
Wohnort: Beuren
Kontaktdaten:

Re: [2.xx] Ideensammlung

Beitrag von Well » 09.06.2011, 15:35:22

Es wäre toll, wenn man eine Software hätte, die einem ein Projekt anhand ausgewählter Bootstrap dateien analysiert und dann all jene dateien und module die benötigt werden in ein Verzeichnis kopiert.
Wobei je nach GET-Parameter andere Views eingebunden werden und somit auch andere Controller und Manager. Nur anhand der Bootstrap-Datei ist das daher sicher nicht einfach ...
Davon abgesehen könnte man das ja über die import() Funktion ganz gut lösen ... Wobei nicht eingebundene Module / Klassen die Anwendung ja nicht langsamer machen sondern nur ein paar kB Speicherplatz ... Da habe ich persönlich lieber das komplette Framework auf dem Server. ;)
Weiters wäre es sehr praktisch, wenn man in jedem Modul eine Versionsangabe hätte, damit man beim update leichter sehen kann, was man noch nicht aktualisiert hat.
SVN?

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

Re: [2.xx] Ideensammlung

Beitrag von dr.e. » 09.06.2011, 20:08:29

@Well: deine Klasse ist im Prinzip ein Front-Controller für die CLI und hat damit schon seine Berechtigung. Lass uns das Thema mal für 1.15 in die Diskussion aufnehmen oder gerne auch für die APF-DEV-Con.
Viele Grüße,
Christian

Well
Beiträge: 263
Registriert: 25.10.2009, 11:00:19
Wohnort: Beuren
Kontaktdaten:

Re: [2.xx] Ideensammlung

Beitrag von Well » 25.07.2011, 23:27:28

Ich habe die jetzigen Vorschläge auf der Wiki-Seite mal zusammengefasst, hoffe das ist ok so.

Wie weit ist eigentlich PHP 5.3 mittlerweile bei den Hostern verbreitet und wie steht ihr dann zum Thema autoloading? Ich fände das Feature gerade in Verbindung mit den Namensräume mehr als interessant. Dadurch würde die import() Funktion dann ja entfallen.

Den ServiceManager müsste man dann ggf. auch neu gestalten, denn der liegt dann in einem anderem Raum als die Klassen, in denen das Objekt benötigt wird, wodurch man immer den vollqualifizierten Klassennamen angeben müsste. Hat sich dazu schon jemand Gedanken gemacht?

Ich würde dann auch vorschlagen, den jetzigen Namensraum bei Konfigurationsdateien und co durch Verzeichnisse zu ersetzen, denn ansonsten stiftet das imo nur Verwirrung.

Gut, es ist ja noch hin bis zum 2er Zweig ...

Hm, und den Referenzoperator könnte man dann auch langsam entfernen. Durch die Objekttabelle ist der, sofern mich nicht alles täuscht, definitiv überflüssig in PHP 5.

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

Re: [2.xx] Ideensammlung

Beitrag von dr.e. » 26.07.2011, 19:36:42

Hallo Well,

danke für deinen Input. Diesen können wir auch gerne auf der APF-DEV-CON besprechen.
Hm, und den Referenzoperator könnte man dann auch langsam entfernen. Durch die Objekttabelle ist der, sofern mich nicht alles täuscht, definitiv überflüssig in PHP 5.
Das hatten wir an einer anderen Stelle schon mal diskutiert und ich bin mir immer noch nicht 100%-ig sicher, ob er beim Umgang mit dem APF-DOM-Baum entfernt werden kann. Meine ersten Tests mit PHP 5.1 haben gezeigt, dass es nicht funktioniert. :(
Wie weit ist eigentlich PHP 5.3 mittlerweile bei den Hostern verbreitet und wie steht ihr dann zum Thema autoloading? Ich fände das Feature gerade in Verbindung mit den Namensräume mehr als interessant. Dadurch würde die import() Funktion dann ja entfallen.
Da ich ein ausgesprochener Gegner von Autoloading bin, sollten wir hier sehr genau nachdenken, ob das eine gute Idee ist. In vielen Frameworks passiert mir persönlich damit zu viel "magic" und schmälert dadurch die Transparenz der Abhängigkeiten. Ferner ermöglicht es keine statische Code-Analyse und generiert dir zu viele Laufzeitfehler.
Viele Grüße,
Christian

Gesperrt

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast