simplesamlphp/composer-module-installer
Composer plugin that installs SimpleSAMLphp modules via Composer. Define your module as type "simplesamlphp-module" (or "simplesamlphp-assets-*") and it installs into SimpleSAMLphp’s modules/ (or public/) directory. Works with Packagist or private repos.
ServiceProvider, Package Discovery). Integration would require:
resources/ or vendor/ directories.SimpleSAML\Module\*) don’t conflict with Laravel’s App\ or Vendor\ namespaces.Strategic Alignment:
Integration Scope:
config/module.php, dynamic Service Providers)?Alternatives Assessment:
Long-Term Viability:
Performance Impact:
composer require simplesaml/simplesamlphp) and configure it as a subsystem.simplesamlphp/composer-module-installer would act as a bridge between Composer and SimpleSAMLphp’s module system, but only within the SimpleSAMLphp namespace.vendor/ directory.vendor/simplesamlphp/modules/.composer.json autoload configurations.Phase 1: Proof of Concept (Low Risk)
composer require simplesaml/simplesamlphp
composer global require simplesamlphp/composer-module-installer
composer require vendor/simplesamlphp-module-test
vendor/simplesamlphp/modules/ and are accessible (e.g., via SimpleSAMLphp’s config.php).Phase 2: Laravel Integration (High Risk)
composer.json to symlink modules:
"scripts": {
"post-install-cmd": [
"php artisan simplesaml:link-modules"
]
}
simplesaml:link-modules) to copy modules from vendor/simplesamlphp/modules/ to Laravel’s storage/app/simplesaml/modules/.config.php and expose modules to Laravel’s container.Http facade to communicate with SimpleSAMLphp’s API.Phase 3: Validation and Optimization
composer dump-autoload --optimize).SimpleSAML\Module\* doesn’t conflict with Laravel’s App\ namespace).laravel/installer) may need updating.include 'module.inc.php'). Laravel’s autoloader may fail to resolve these paths.composer.json autoload rules to map SimpleSAMLphp modules:
"autoload": {
"psr-4": {
"SimpleSAML\\Module\\": "vendor/simplesamlphp/modules/*/src/"
}
}
config.php may override Laravel’s autoload paths or register duplicate services.How can I help you explore Laravel packages today?