youwe/file-mapping
最新稳定版本:2.0.0
Composer 安装命令:
composer require youwe/file-mapping
包简介
File mapping library
README 文档
README
A PHP package for mapping files from one location to another. It is used by the youwe/composer-file-installer package to move installed files according to the location mapping.
Mapping notation
The mapping can contain {source,destination} placeholders, which will be replaced with the source or destination part
relatively. A mapping string can contain multiple {source,destination} placeholders.
Examples mappings:
| Mapping string | Translates to source path | Translates to destination path |
|---|---|---|
file.php |
file.php |
file.php |
{dot,.}gitignore |
dotgitignore |
.gitignore |
{default/,}config.yaml{.dist,} |
default/config.yaml.dist |
config.yaml |
Mapping file
All mappings can be stored in and read from a file in your project/library. In that case, adding options to the mapping should be done with a colon-separated string. The actual meaning of the options depends on the implementation actually using the mappings, but an example of an option could be to indicate that contents should be force overwritten.
Example mapping file:
file1.php
file2.php:option1:option2
{dot,.}gitignore:merge:force
Usage examples
<?php use \Youwe\FileMapping\UnixFileMapping; use \Youwe\FileMapping\UnixFileMappingReader; /** * Create a mapping. */ $mapping = new UnixFileMapping( sourceDirectory: __DIR__ . '/../folder/files', destinationDirectory: getcwd(), mapping: '{templates/dot,.}gitignore' 'option1', 'option2', ); /** * Or read mappings from a file */ $reader = new UnixFileMappingReader( sourceDirectory: __DIR__ . '/../folder/files', targetDirectory: getcwd(), 'path/to/mapping-file-1', 'path/to/mapping-file-2', ); foreach ($reader as $mapping) { // Use the mapping } /** * Get the relative path to the source file. */ $mapping->getRelativeSource(); /** * Get the absolute path to the source file. */ $mapping->getSource(); /** * Get the relative path to the destination file. */ $mapping->getRelativeDestination(); /** * Get the absolute path to the destination file. */ $mapping->getDestination(); /** * Get the options from this mapping */ $mapping->getOptions();
统计信息
- 总下载量: 162.91k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2022-02-18