Comments (11)
fyi the adminpanel extended displays hooks and signals and input values given (https://packagist.org/packages/psychomieze/adminpanel-extended) and could be used as a start point / reference.
from typo3cms-reference-coreapi.
Another note ;) It becomes relatively likely that core v10 changes both signals and hooks: psr-14 "Event manager" is basically a hook interface, this PSR is not yet officially released but is stabilizing. It is pretty likely that we'll use that and substitute both signals+hooks with that approach in v10. Thus, I'm not too sure if a full signal/hook reference is still worth the effort at the moment. If anyone still finds spare time and picks this topic up, it wouldn't hurt, though.
from typo3cms-reference-coreapi.
Yeah that's an old one by myself. As far as I know this will come to the core in the near future? Don't ask me where I did hear that.
Anyway it would be to much work to create such a list by hand. What do you think @sypets @marble?
from typo3cms-reference-coreapi.
I don't have enough information what the current status is. If that is in any way possible, it would be cool to be able to autogenerate a list.
from typo3cms-reference-coreapi.
Finding hooks:
Resources:
As a crude method for generating list of hooks, this works:
grep -r -F "['SC_OPTIONS'][" typo3/sysext/ | grep -v ext_localconf | grep -v Test | grep -v "/Documentation" | perl -p -e "s/.*(\[\'SC_OPTIONS\'\])(\[(\'.*\'|[^ ]*::class|\\$.*)\])+.*/\1\2/" | grep -v "\\$" | sort -u
results: hooklist-typo3-9.3-dev.txt
The extension dmc_hooklist is outdated.
Another method is to browse through the changelogs:
- 79647: https://docs.typo3.org/typo3cms/extensions/core/Changelog/8.7.x/Important-79647-AddedHookForResolvingCustomLinkTypes.html
- ... https://docs.typo3.org/typo3cms/extensions/core/search.html?q=hook&check_keywords=yes&area=default
Finding signals
from typo3cms-reference-coreapi.
That can't fully work. Some classes save the hooks in an internal variable and reuse them on multiple places. This way it's just not possible, without parsing all php files, to generate a full list of all hooks.
But still that might provide a nearly complete list which might be better than nothing.
from typo3cms-reference-coreapi.
With the discussion in coredev channel https://typo3.slack.com/archives/C03AM9R17/p1526392541000230 in mind, I'd opt to close the issue for now.
from typo3cms-reference-coreapi.
As an alternative for closing this ticket, I would like the section on finding hooks / signals to be improved a little bit: https://docs.typo3.org/typo3cms/CoreApiReference/ApiOverview/Hooks/Concept/Index.html?highlight=hooks%20signals#finding-signals
If this can be improved with minimal effort and / or some links to already existing information added, it might be helpful.
If I understood correctly, Daniel is willing to handle this.
Details:
- "but they are easily found by searching the TYPO3 core for dispatch(." I would slightly disagree on the easily. For generating the list: Yes, you can find them but the output should be formatted to be helpful.
- The text says: "For finding hooks, look into the next chapter Hook configuration.". But the next chapter does not really mention finding hooks. I guess, it's kind of obvious you can search for SC_OPTIONS, but then at least write it in the corresponding section.
from typo3cms-reference-coreapi.
Related: #15
from typo3cms-reference-coreapi.
Well, I'd argue that using a hook / signal usually forces to read the source that emits the signal / calls a hook anyway: The input and output values are almost always unique and specially crafted for this single place, a developer who wants to use a hook has to take a look at the implementation in detail. Having a (manual?) reference of hooks / signals thus won't help that much, if you're looking for something to slot/hook in, you have to know the according handling core side class already. So, a general "how a hook / signal usually works" documentation is needed, but I guess an (incomplete? / outdated?) list of hooks / signals is of very limited use. Thus, I'd still to close this issue. Maybe we find some generic solution with a new API in place, this should also consolidate the possible options, and reduce for instance the different hook incarnations (there are 3 or 4 different basic types), too.
from typo3cms-reference-coreapi.
Had a quick talk with Sybille on this recently. We'll close that issue: It is unlikely we'll come up with a hooks / signal+slot reference anytime soon.
from typo3cms-reference-coreapi.
Related Issues (20)
- Missleading examples on Extbase ObjectStorage HOT 1
- Icon API: unclear if extension icons get prefixed automatically HOT 2
- ActionController: Document how to access tt_content uid HOT 2
- Outdated information about `ext_tables_static+adt.sql` HOT 1
- Outdated information for TYPO3 v12 sys_file_reference HOT 1
- Improve/update information about TYPO3 PHP coding standards HOT 3
- 3 spelling errors in the main diagram of the introduction HOT 3
- Sliding Window Pagination example is wrong HOT 2
- Backend Layout does not accept any colspan or rowspan. TYPO3 12.4.14 HOT 1
- List of "Comparing operations" missing from migrated Extbase persistance documentation?
- Improve description of feature toggles in section describing $GLOBALS['TYPO3_CONF_VARS']['SYS']['feature']
- Explain section "requirements" in combination with "aspects" in more details HOT 3
- No documentation for data handler hooks
- Contradicting information for LanguageService / $GLOBALS['LANG'] in BE
- Document DI Autoconfigure attribute for public/shared = true as alternative to Services.yaml
- DocHeader example uses invalid API method
- Improve Explanation on making things public in DI HOT 1
- Add validators reference
- page "Configure custom backend preview ..." mentions only TSconfig and event listener on top of page HOT 1
- Document MFA provider supporting multiple devices
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from typo3cms-reference-coreapi.