rnd-cosoft / api-tools-asset-manager
Composer 插件,用于将模块资源复制到应用程序文档根目录。
Requires
- php: ~8.1.0 || ~8.2.0 || ~8.3.0
- composer-plugin-api: ^1.1 || ^2.0
- laminas/laminas-zendframework-bridge: ^1.1
Requires (Dev)
- composer/composer: ^1.10.18 || ^2.1.9
- laminas/laminas-coding-standard: ~2.3.0
- mikey179/vfsstream: ^1.6.10
- phpspec/prophecy-phpunit: ^2.0.1
- phpunit/phpunit: ^9.6.11
- psalm/plugin-phpunit: ^0.16.1
- vimeo/psalm: ^4.30
Replaces
This package is not auto-updated.
Last update: 2024-09-13 11:53:18 UTC
README
🇷🇺 俄罗斯公民
我们,Laminas 的参与者,来自不同的国家。我们中许多人都有在俄罗斯和乌克兰的朋友、亲属和同事。我们中的一些人生于俄罗斯。我们中的一些人现在住在俄罗斯。我们中的一些祖父母在二战中与法西斯作战。在这里,没有人支持法西斯主义。
我们中的一位成员有一位乌克兰亲属,她带着儿子逃离了家园。由于前方道路上的轰炸,火车延误了。我们有朋友躲在防空洞里。我们在空袭后焦急地等待他们的消息,这些空袭无差别地轰炸医院、学校、幼儿园和住宅。我们不是从任何媒体上得知这些情况。我们亲身体验到了这一切。
您足够信任我们使用我们的程序,我们再次请求您信任我们。我们需要您的帮助。走出家门,抗议这场无意义的战争。停止杀戮。说“停止战争!”
🇺🇸 致俄罗斯公民
Laminas 团队来自世界各地。我们中许多人都有在俄罗斯和乌克兰的朋友、亲属和同事。我们中的一些人生于俄罗斯。我们中的一些人现在住在俄罗斯。我们中的一些祖父母在二战中与纳粹作战。在这里,没有人支持法西斯主义。
我们的一位团队成员有一位乌克兰亲属,她和儿子一起逃离了家园。由于前方道路上的轰炸,火车延误了。我们有朋友躲在防空洞里。我们在空袭后焦急地等待他们的消息,这些空袭无差别地轰炸医院、学校、幼儿园和住宅。我们不是从任何媒体上得知这些情况。这是我们亲身体验到的。
您足够信任我们使用我们的软件。我们请求您信任我们,说出真相。我们需要您的帮助。走出家门,抗议这场无意义的战争。停止杀戮。说“停止战争!”
api-tools-asset-manager
是一个 composer 插件,它将配置的 Web 可访问资源复制到您的 Laminas 应用程序的公共文档根目录。它使用 rwoverdijk/AssetManager 的配置格式,具体来说是这个子集
'asset_manager' => [ 'resolver_configs' => [ 'paths' => [ /* paths containing asset directories */ ], ], ],
每个配置路径都会迭代,然后将其下的每个路径复制到公共树中。
安装
$ composer require --dev laminas-api-tools/api-tools-asset-manager
推荐用于开发
我们主要推荐将此模块用于开发目的。在大多数情况下,在准备生产时,应该用项目特定的资源覆盖第三方模块的资源。为了强调这一点,默认情况下将资源排除在 git 存储库之外。(您可以在稍后手动添加它们,如下所述。)
示例
以下是一个示例,假设在一个包内部具有以下目录结构
./
- asset/
- README.md
- gruntfile.js
- package.json
- api-tools/
- css/
- bootstrap.min.css
- img/
- logo.png
- js/
- bootstrap.min.js
- jquery.min.js
- api-tools-welcome/
- css/
- main.min.css
- img/
- ag-hero.png
- config/
- module.config.php
其中 module.config.php
至少定义以下内容
return [ 'asset_manager' => [ 'resolver_configs' => [ 'paths' => [ __DIR__ . '/../asset/' ], ], ], ]
当您安装此包时,资源管理器将复制 asset/api-tools/
和 asset/api-tools-welcome/
中的每个树到项目的 public/
路径。单个文件 asset/README.md
、asset/gruntfile.js
和 asset/package.json
被省略在安装中,因为它们不是目录。
此外,在安装过程中,插件会将一个.gitignore
文件添加到public/
路径,列出所有新目录。
# public/.gitignore
api-tools/
api-tools-welcome/
安装完成后,您可以访问任何相对于公共根目录安装的资源。
卸载
当您删除该模块时,插件将
- 从公共树中删除为该模块配置的任何资源树。
- 从
public/.gitignore
文件中删除与这些资源树相关的条目。
保留资源
资源默认被Git标记为忽略。此模块的主要目的是用于开发目的;它被开发出来是为了允许安装与Apiglity管理UI、欢迎界面和文档相关的资源,其中大部分仅在开发模式下相关。
但是,如果您希望保留公共树中的资源,可以按照以下步骤操作
- 编辑
public/.gitignore
文件,删除您希望保留的资源树条目。 - 将资源树添加到您的仓库中(
git add public/{tree}
)。
从public/.gitignore
中删除条目足以防止卸载器在您删除模块时删除资源。