mensbeam/filesystem

简化了使用许多PHP内置的文件系统函数

v1.0.1 2023-11-15 02:40 UTC

This package is auto-updated.

Last update: 2024-09-15 04:21:03 UTC


README

这是Symfony的Filesystem组件的一个分支,它简化了PHP内置的文件系统函数。使用Symfony组件的一个常见问题是它不必要地实例化

use Symfony\Component\Filesystem;
$fs = new Filesystem();
$fs->chmod('/path/to/file', 0600);

这很尴尬,因为没有理由去实例化它。在Filesystem中没有内容可以创建实例。没有定义的构造函数,也没有可以设置的属性。事实上,在类中只有一个静态属性用于存储最后遇到错误。这根本说不通。考虑到Filesystem包含的Path类本身也是一个静态类,这尤其令人好奇。

这个分支通过使一切静态来消除这种无意义的行为

use MensBeam\Filesystem as Fs;
Fs::chmod('/path/to/file', 0600);

注意

此库使用polyfills为ext-ctypeext-mbstring。如果您已安装这些扩展,则polyfills不会运行。但是,如果您不希望不必要地安装polyfills,您可以在您的composer.json中这样做

{
    "require": {
        "ext-ctype": "*",
        "ext-mbstring": "*"
    },
    "provide": {
        "symfony/polyfill-ctype": "*",
        "symfony/polyfill-mbstring": "*"
    }
}