docs: add module creation tutorial and improve make:module guidance

Add howto-modul-erstellen.md covering the full module creation workflow:
scaffold, manifest, container registration, first page, sync, validate,
and test. Includes 9 extension point examples, merge checklist, and
troubleshooting table. Documents the AuthorizationPolicy container
registration requirement (policies with constructor params must be
explicitly registered). Update make:module command output to reference
the tutorial, manifest contract, and notifications as reference module.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-26 13:14:16 +01:00
parent c0843b1fca
commit 5c86c56dec
3 changed files with 372 additions and 2 deletions

View File

@@ -127,8 +127,13 @@ final class ModuleCommand extends Command
fwrite(STDOUT, " modules/{$moduleId}/tests/Module/{$pascalName}/\n");
fwrite(STDOUT, "\nNext steps:\n");
fwrite(STDOUT, " 1. Add '{$moduleId}' to config/modules.php enabled_modules\n");
fwrite(STDOUT, " 2. Edit module.php to define routes, permissions, and UI slots\n");
fwrite(STDOUT, " 3. Run: php bin/console module:sync\n");
fwrite(STDOUT, " 2. Register the AuthorizationPolicy in {$pascalName}ContainerRegistrar (required for UI slot visibility)\n");
fwrite(STDOUT, " 3. Edit module.php to define routes, permissions, and UI slots\n");
fwrite(STDOUT, " 4. Run: php bin/console module:sync\n");
fwrite(STDOUT, "\nGuides:\n");
fwrite(STDOUT, " Tutorial: docs/howto-modul-erstellen.md\n");
fwrite(STDOUT, " Manifest contract: docs/reference-module-manifest-contract.md\n");
fwrite(STDOUT, " Reference module: modules/notifications/ (full-featured example)\n");
return 0;
}