Re: [TYPO3-german] Hooks in TYPO3 7

2016-08-26 Diskussionsfäden Eddy Wolbert
Ok, danke Euch für die hilfreichen Hinweise.



--
View this message in context: 
http://typo3.3.n7.nabble.com/Hooks-in-TYPO3-7-tp285002p285058.html
Sent from the TYPO3 German mailing list archive at Nabble.com.
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Re: [TYPO3-german] Hooks in TYPO3 7

2016-08-25 Diskussionsfäden Dr. Dieter Porth

Hallo Eddy,

Am 25.08.2016 um 18:25 schrieb Eddy Wolbert:

Und auch mit PHPStorm bin ich am arbeiten, habe aber da deine
Suchmöglichkeit so noch nicht in Betracht gezogen und werde es mal testen.
Nichtsdesotrotz vermute ich jetzt mal, das anhand von
Verzeichnisstrukturen/Dateinamen etc. eine schnelle Suche wohl nicht möglich
ist.
Doch. Es braucht nur lange, bis man sich an die Struktur von TYPO3 
gewöhnt hat und bis man ungefähr weiß, wo man was eventuell finden kann. 
Ich verzichte meist auf eine solche Suche, sondern bevorzuge im ersten 
Schritt die Project-weite Suche mit prägnaten Schlagworten, um dann bei 
den Suchergebnissen zu entscheiden, welche Klasse/Datei meinem 
Suchbedürfnis wohl am ehesten entsprechen könnte...


mit besten Grüßen
Dieter


Persönliche - zum Thema abseitige Nebenbemerkung:
PHP-Storm hat die angenehme Eigenschaft, dass man schnell schauen kann, 
wo bestimmte Funktionen in fremden Klassen angewandt werden, so dass es 
einem hilft, durch den Code zu springen. Ich will mir schließlich nicht 
merken, in welchen Dateien welche Proceduren letztendlich zu finden 
sind. Das soll die IDE für mich machen. Bemerkenswert ist auch die 
Autovervollständigungsfunktion, die per Tab-Taste beim Programmieren zur 
Anwendung kommt, wenn die Einstellungen stimmen.


Mit Xdebug + PHPStorm ist die Linux-PHP-Welt heute also  langsam bei dem 
angekommen, was ich vor zehn Jahren schon bei der Makroprogrammierung 
von "Word 2000" mit seiner VBA-IDE gewohnt war. Nur ein 
Syntaxhighlighting gab es im VBA noch nicht und auch den leichten 
Wechsel zwischen verschiedenen Sprachebenen (HTML,javascript,sql, ...) 
unterstützte das System nicht. Ein automatischer Compiler war integriert 
und man musste sich nicht, wie heute für Grunt und Konsorten unter 
PHPStorm, sich mit komlizierten Einstellungen rumschlagen. Schwerer war 
beim VBA zumeist herauszubekommen, welche Libaries (Extensions) man 
zusätzlich einbinden musste, um bestimmte besondere Funktionalitäten 
verfügbar zu haben.  Hier ist die PHP-Welt dank google offener und 
informativer.
Syntaxbasierte Hilfen, wie man sie aus der Microsoftwelt kennt, finde 
ich beim PHPStorm leider immer noch  rudimentär, weil es bislang keine 
wirklichen Standards gibt, wie man Hilfe-Texte zu schreiben und zu 
strukturieren hat, um sie dann allgemein per IDE verfügbar zu haben. 
Eine Suchmaschine für Programmierhilfen gibt es leider auch nicht. Dafür 
gibt es zum Beispiel im TYPO3 Bestrebungen, alle paar Jahre die Regeln 
für Manuals in neue Formate zu pressen, wahrscheinlich um so auch die 
letzten Gutwilligen vom Schreiben der Manuals ihrer Extensions 
abzuhalten (Ironie).
Aktuell entwickle ich als privates lernproject eine Extension für Comics 
unter TYPO3 und für die werde ich sicher kein ReST-Manual schreiben, 
weil ReST einfach scheiße zu lernen, blöd zu lesen und keinen 
erkennbaren Mehrwert zu bieten hat. Ich werde das Manual wohl in den 
Sourcode 'auslagern'. Schon heute sind die Kommentare in maschinell 
strukturierten Sourcodes oft hilfreicher und kompakter als die Ergüsse 
in den Manuals. Nur an der Didaktik hapert es bei diesen maschinellen 
Code-Darstellungen natürlich.


Programmierwerkzeuge, wie den Makro-Recorder bei Word oder Excel, suche 
ich in der (TYPO3-)PHP-Welt immer noch vergebens und es wird wohl noch 
Jahrzehnte dauern, bis Programmierhelferchen wie der 
TYPO3-Extensionbuilder zu echten Programmierwerkzeugen ähnlich  wie der 
Makrorecorder gereift sind.
Echte Programmiermaschinen, also Maschinen, die dem Entwickler 
semantisch helfen, Programme schreiben, werden vermutlich noch lange ein 
Traum bleiben, obwohl ein - wie ich glaube - gangbares theoretische 
Konzept schon vor Jahrzehnten unter dem Schlagwort "Expertensysteme" 
angedacht und erprobt wurde.
Aber derzeit finden alle den Composer toll, weil der für PHP endlich das 
leistet, was in compilierten Sprachen Compiler seit Jahrzehnten tun - 
Bibliotheken zusammenmergen.  Natürlich möchte ich den Composer als 
Hilfsmittel heute nicht mehr missen.


Trotz aller Kritik halte ich Scriptsprachen wie PHP oder JavaScript für 
geile Programmiersprachen, weil sie im Gegensatz zu compilierten 
Sprachen wie Java, C, Basic, ... 'selbstbezüglich' sind. Prinzipiell 
könnte ein PHP-Programm kreativ auf die Umwelt reagieren und für sich 
selbst neuen zusätzlichen PHP Programmcode schreiben und diesen dann 
sogar zur Laufzeit noch ausführen. Es kann aber auch einen Prozess 
anstoßen, so dass sein Programmkind dann den Programmcode ausführt.  
Conways Spiel des Lebens zeigt, dass selbst einfachste Programme schnell 
zu komplexen Strukturen führen können.
Compilierte type-basierte Programme haben diese Freiheit der 
"Selbstbezüglichkeit" nicht bzw. müssen sie aufwendig simulieren.


Dieter
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Re: [TYPO3-german] Hooks in TYPO3 7

2016-08-25 Diskussionsfäden Philipp Gampe
Hi Eddy,

Eddy Wolbert wrote:

> Nichtsdesotrotz vermute ich jetzt mal, das anhand von
> Verzeichnisstrukturen/Dateinamen etc. eine schnelle Suche wohl nicht
> möglich ist.

Nein, die Hooks und Signals sind immer funktional, d.h. du musst halt 
schauen, wo der nächste Hook zu der Stelle ist, wo du in die 
Datenverarbeitug eingreifen möchtest.

Am Besten mit PhpStorm einen Breakpoint setzen und dann im Debug Modus 
schauen, wo der nächste Hook davor oder danach ist.

Grüße
-- 
Philipp Gampe – PGP-Key 0AD96065 – LFCS
TYPO3 CMS Certified Integrator – Certified Developer – Active contributor
TYPO3  inspiring people to share!

___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Re: [TYPO3-german] Hooks in TYPO3 7

2016-08-25 Diskussionsfäden Eddy Wolbert
Hallo Dieter,

danke für die Antwort. 
Die angesprochenen Quellen von Stefan und typo3blogger hatte ich schon
durch. Hier werden ja eher Hooks beschrieben sowie die Anwendung. 

Mein Problem ist ja eher die Auffindbarkeit nicht die Definition von Hooks.
Bei meiner bisherigen Recherche bin ich eben zufällig bei manchen Hooks
hängengeblieben. Das Signal-/Slot-Prinzip ist mir ebenfalls geläufig, nur
wurden entsprechende Signals von den Entwicklern nicht vorgesehen, sondern
Hooks.

Und auch mit PHPStorm bin ich am arbeiten, habe aber da deine
Suchmöglichkeit so noch nicht in Betracht gezogen und werde es mal testen.
Nichtsdesotrotz vermute ich jetzt mal, das anhand von
Verzeichnisstrukturen/Dateinamen etc. eine schnelle Suche wohl nicht möglich
ist.

Eddy



--
View this message in context: 
http://typo3.3.n7.nabble.com/Hooks-in-TYPO3-7-tp285002p285041.html
Sent from the TYPO3 German mailing list archive at Nabble.com.
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Re: [TYPO3-german] Hooks in TYPO3 7

2016-08-25 Diskussionsfäden Dr. Dieter Porth

Hallo Eddy,

mit den Suchbegriffen "typo3 hook list" fand ich bei google auf der 
ersten Seite
u.a. den Link zur Stefans Seite, der, wie ich finde, ein guten 
erklärenden Schreibstil hat.

http://www.typo3lexikon.de/typo3-tutorials/programmierung/hooks.html

Wenn du einigermaßen ordentlich recherchiert hättest, wäre dir der 
nachfolgende Text wohl auch aufgefallen.

http://typo3blogger.de/alles-uber-hooks/

Neben Hooks gibt es auch noch Signal/Slot-Einstiegspunkte, mit welchen 
man eigenen PHP-Code in TYPO3 unterschieben kann, sofern der Entwickler 
dies zugelassen hat.

http://typo3blogger.de/signal-slot-pattern/
http://stackoverflow.com/questions/30544422/typo3-extbase-how-to-use-core-signal-slots
https://docs.typo3.org/typo3cms/CoreApiReference/ApiOverview/Hooks/Configuration/Index.html

Eine weitere Möglichkeit, den Code zu erweitern, besteht dem Überlagern 
von Klassen (XCLASS).


Ich habe bislang Hooks kaum verwendet. Ich denke, dass es meistens 
einfacher ist, für das eigene Problem selbst eine eigenen Extension zu 
definieren und zu schreiben; denn wenn man über einen Hook eine 
Extension auf das eigenen Problem anpassen muss, dann passt die 
Extension eigentlich nicht zum eigenen Problem. Meistens muss man dann 
an weiteren Stellen auch noch weitere Änderungen und Anpassungen 
vornehmen. Spätenstens ab einem solchen Punkt ist die Entwicklung zu 
undurchsichtigem  Spaghetti-Code vorgeprägt.


Mit Hooks ist es wie mit Nachahmer-Produkten - sie machen nur Ärger.

Zum Problem der Auffindbarkeit:
Ich vermute, dass du kein vernünftiges Entwicklungssystem verwendest, 
wie zum Beispiel PHP-Stom. Um sich in den Quellcodes gut 
zurechtzufinden, braucht man Entwicklungsumgebungen, die zum Beispiel 
eine Projektweite datei-übergreifenden Suche ermöglichen. Man lässt von 
PHPstorm einfach in allen TYPO3-Dateienen nach 'Hook' suchen und 
entscheidet dann, welche Klasse wohl für die Lösung des eigenen Problem 
hilfreich sein könnte und ob dort die in den obigen Zitaten erwähnte 
Hook-Struktur zu finden ist.


Mit besten Grüßen

 Dieter


Am 25.08.2016 um 09:05 schrieb Eddy Wolbert:


Habe nun zur ersten Frage feststellen können, das die Hooks im Quellcode
lediglich eine Art "Angebot zur Nutzung" sind, was jedoch nichts zum
BE-Modul "Konfiguration" aussagt.
Erst wenn der Hook in der ext_localconf.php registriert wurde, erscheint er
auch in der Konfiguration.
OK, wieder etwas gelernt.

Das Problem der Auffindbarkeit der Hooks steht aber immer noch im Raum.
Bestimmte Funktionalitäten scheinen über verschiedenste Dateien verteilt zu
sein.
Gerade im Zusammenhang des Login finde ich z.B. etwas unter:

sysext/core/Authentication/AbstractUserAuthentication
sysext/core/Authentication/BackendUserAuthentication
dann wieder etwas unter:
sysext/frontend/Authentication/FrontendUserAuthentication
usw.

Gibt es da irgendwie eine praktikable Vorgehensweise, nach der man vorgehen
kann, um hier relativ schnell fündig zu werden.

Eddy



--
View this message in context: 
http://typo3.3.n7.nabble.com/Hooks-in-TYPO3-7-tp285002p285036.html
Sent from the TYPO3 German mailing list archive at Nabble.com.
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german


___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Re: [TYPO3-german] Hooks in TYPO3 7

2016-08-25 Diskussionsfäden Eddy Wolbert
Habe nun zur ersten Frage feststellen können, das die Hooks im Quellcode
lediglich eine Art "Angebot zur Nutzung" sind, was jedoch nichts zum
BE-Modul "Konfiguration" aussagt. 
Erst wenn der Hook in der ext_localconf.php registriert wurde, erscheint er
auch in der Konfiguration.
OK, wieder etwas gelernt.

Das Problem der Auffindbarkeit der Hooks steht aber immer noch im Raum.
Bestimmte Funktionalitäten scheinen über verschiedenste Dateien verteilt zu
sein. 
Gerade im Zusammenhang des Login finde ich z.B. etwas unter: 

sysext/core/Authentication/AbstractUserAuthentication
sysext/core/Authentication/BackendUserAuthentication
dann wieder etwas unter:
sysext/frontend/Authentication/FrontendUserAuthentication
usw. 

Gibt es da irgendwie eine praktikable Vorgehensweise, nach der man vorgehen
kann, um hier relativ schnell fündig zu werden.

Eddy



--
View this message in context: 
http://typo3.3.n7.nabble.com/Hooks-in-TYPO3-7-tp285002p285036.html
Sent from the TYPO3 German mailing list archive at Nabble.com.
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

[TYPO3-german] Hooks in TYPO3 7

2016-08-19 Diskussionsfäden Eddy Wolbert
Hallo zusammen,

schlage mich gerade mit der Verwendung von Hooks in TYPO3 7.6.10 herum. 

1. Dabei kam die Frage auf, wie der Zusammenhang zwischen den Hooks im
Quellcode und der Auflistung unter dem Modul "Konfiguration" zu betrachten
ist.

Beispielsweise finde ich in der AbstractUserAuthentication.php einige Hooks
vor, wie z.B. "postUserLookUp", "postLoginFailureProcessing" oder auch
"logoff_pre_processing". 
In TYPO3 im Modul "Konfiguration" wird aber nur der "logoff_pre_processing"
aufgeführt. 
Wie darf man das nun deuten ?

2. Mit der Auffindbarkeit tue ich mich dabei auch sehr schwer. Suche ich
z.B. Hooks für das Login (FE und BE), dann ist die Frage, wo ich da fündig
werden kann. Unter sysext/core/ gibt es ja Unmengen zu entdecken, aber eher
nach dem Adlersuchsystem. Gibt es da eine Systematik, nach der man schnell
fündig werden kann?

Hoffe, es kann mir jemand hier näheres dazu sagen.

Vielen Dank
Eddy



--
View this message in context: 
http://typo3.3.n7.nabble.com/Hooks-in-TYPO3-7-tp285001.html
Sent from the TYPO3 German mailing list archive at Nabble.com.
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german