定制 youwe/file-mapping 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

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

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2022-02-18