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"
}
}
请注意,这仅适用于现有模块的迁移。新模块应仅使用小写字母命名。