simplesamlphp / composer-module-installer
一个Composer插件,允许通过Composer安装SimpleSAMLphp模块。
Requires
- php: ^7.4 || ^8.0
- composer-plugin-api: ^1.1 || ^2.0
- simplesamlphp/assert: ^0.8.0 || ^1.0
Requires (Dev)
README
此包是一个Composer插件,允许通过Composer安装SimpleSAMLphp模块。安装可以通过执行以下命令完成:
composer.phar require vendor/simplesamlphp-module-mymodule 1.*
该命令会安装匹配版本1.*
的vendor/simplesamlphp-module-mymodule
。
通过Composer安装模块
要使模块可以通过Composer安装,您需要将一个composer.json
文件添加到模块的根目录。它应该看起来像这样:
{ "name": "vendor/simplesamlphp-module-mymodule", "description": "A description of the module 'mymodule'.", "type": "simplesamlphp-module", "require": { "simplesamlphp/composer-module-installer": "~1.0" } }
包名必须采用以下形式
<vendor>/simplesamlphp-module-<module name>
<vendor>
是您使用的供应商名称,而 <module name>
是您的模块名称。您的模块将在SimpleSAMLphp安装目录的 modules/<module name>
目录中安装。
资产模块
资产模块是一种特殊类型的模块,它会在SimpleSAMLphp的 public/
目录中安装预构建的资产。这些模块遵循略有不同的命名约定 simplesamlphp-assets-<module name>
安装您的自定义模块
如果您在 Packagist 上发布您的模块,则不需要特殊配置即可安装您的模块。但是,如果您的模块托管在私有仓库中,您需要将模块的仓库添加到SimpleSAMLphp的 composer.json
文件中。例如,如果您的模块位于 /home/username/mymodule
中的Git仓库中,您需要在 composer.json
的 repositories
中添加以下内容
{ "type": "vcs", "url": "/home/username/mymodule" }
此 `repositories` 数组可能看起来像这样
"repositories": [ { "type": "package", "package": { "name": "robrichards/xmlseclibs", "version": "1.3.1", "source": { "type": "svn", "url": "http://xmlseclibs.googlecode.com/svn", "reference": "trunk@50" }, "autoload": { "files": ["xmlseclibs.php"] } } }, { "type": "vcs", "url": "/home/username/mymodule" } ]
添加仓库后,您应该能够通过执行以下命令安装您的模块
composer.phar require vendor/simplesamlphp-module-mymodule:dev-master
(dev-master
指示Composer从Git仓库安装 master
分支。)
有关将您自己的自定义仓库添加到Composer的更多信息,请参阅 Composer仓库文档。
包含大写字母的模块名称
新模块的名称应仅包含小写字母,但是很多现有模块名称包含大写字母。由于Composer包名称应仅包含小写字母,因此可以在 ssp-mixedcase-module-name
扩展数据选项中提供模块名称的混合大小写变体
{ "name": "vendor/simplesamlphp-module-mymodule", "description": "A description of the module 'MyModule'.", "type": "simplesamlphp-module", "extra": { "ssp-mixedcase-module-name": "myModule" }, "require": { "simplesamlphp/composer-module-installer": "~1.1" } }
请注意,这仅适用于现有模块的迁移。新模块应仅使用小写字母命名。