Follow up to. That issue introduced a hook_menu_link_defaults() as the D8 replacement for the menu link portion of D7's hook_menu(). However, several alternate ideas were presented on that issue and punted to here:
- Use YAML + optional YAML-specified callable + ALTER event, to match how routes are declared/altered.
- Leave the array based hook, but rename it to hook_menu_link_info().
- Use the Entity API exclusively: i.e., create the menu link entities directly in hook_install(), and update them in hook_update_N().
- Since the vast majority of the time, there's only 0 or 1 menu links per route, add menu link definitions to routing.yml, and then introduce some dedicated hook or event to handle the extreme edge cases.
- See #47 redefine menu links as plugins with YAML discover plus custom menu links with associated content entity in analogy to block + custom_block
Remaining tasks: decide on one of the above and implement it, or decide to leave hook_menu_link_defaults() as-is.