olinox14/path-php

面向对象的文件和路径操作,灵感来源于path.py Python库

0.1.8 2024-04-25 20:56 UTC

README

CI Coverage Status Version License PHP Version Require

Path-php

一个用于文件和路径操作的直观、独立和面向对象的库。

请在此处查看完整文档:文档

<?php
use Path\Path;

// Get the parent directory of the current script file and list its subdirs
$script = new Path(__file__);
$dir = $script->parent();
var_dump($dir->dirs());


// Get the path of the working directory, iterate over its files and change their permissions
$path = new Path('.');

foreach($path->files() as $file) {
    $file->chmod(755);
}


// Put content into a file 
$path = (new Path('.'))->append('readme.md');

$path->putContent('new readme content');

// And many more...

要求

path-php 需要 php8.0 或更高版本

安装

使用 composer 安装

composer require olinox14/path-php

使用方法

导入 Path 类

use Path\Path;

使用某个路径实例化

$path = new Path('./foo');
$path = new Path('/foo/bar/file.ext');
$path = new Path(__file__);

然后按需使用。例如,如果你想要将当前脚本所在目录中的所有 html 文件重命名为 .md 文件

$path = new Path(__file__);

$dir = $path->parent();

foreach ($dir->files() as $file) {
    if ($file->ext() === 'html') {
        $file->rename($file->name() . '.md');
    }
}

贡献

Git 分支

贡献应遵循 gitflow 模式。

测试

第一次构建

Dockerfile 中默认的 php 版本是当前最旧的活跃支持版本,但在构建容器之前,你可以在本地更改它。

构建你的 Docker 容器

docker build -t path .

运行它(名称可以更改)

# On Linux
docker run -v "$(pwd)":/path --name path path

# On Windows
docker run -d -v "%cd%:/path" --name path path

执行它并安装依赖项

docker exec -it path bash
composer install

运行单元测试

XDEBUG_MODE=coverage vendor/bin/phpunit -c phpunit.xml

在构建的容器上运行

如果你已经构建了容器,启动它并使用以下命令运行单元测试

docker start path
docker exec -it path bash
XDEBUG_MODE=coverage vendor/bin/phpunit -c phpunit.xml

运行代码质量工具

Phpstan

如单元测试部分所述构建和启动 Docker,然后运行

vendor/bin/phpstan analyse --memory-limit=-1

见:https://phpstan.org/

CS Fixer

如单元测试部分所述构建和启动 Docker,然后运行

vendor/bin/php-cs-fixer fix src

见:https://github.com/PHP-CS-Fixer/PHP-CS-Fixer

生成文档

要安装和运行 phpdoc

docker pull phpdoc/phpdoc

# On Linux
docker run --rm -v "$(pwd):/data" "phpdoc/phpdoc:3"

# On Windows
docker run --rm -v "%cd%:/data" "phpdoc/phpdoc:3"

如果你在 Linux 上,可以使用以下命令创建别名

alias phpdoc="docker run --rm -v $(pwd):/data phpdoc/phpdoc:3"

许可

Path-php 采用 MIT 许可证。