使用symfony'的优势;s文件系统而不是本机PHP
我已经找到了这个symfony组件,但我不确定是应该使用这个组件还是本机PHP。带有使用symfony'的优势;s文件系统而不是本机PHP,php,symfony,Php,Symfony,我已经找到了这个symfony组件,但我不确定是应该使用这个组件还是本机PHP。带有mkdir的示例: // With symfony: use Symfony\Component\Filesystem\Filesystem; use Symfony\Component\Filesystem\Exception\IOExceptionInterface; $fs = new Filesystem(); $fs->mkdir('/tmp/photos', 0700); // Native
mkdir
的示例:
// With symfony:
use Symfony\Component\Filesystem\Filesystem;
use Symfony\Component\Filesystem\Exception\IOExceptionInterface;
$fs = new Filesystem();
$fs->mkdir('/tmp/photos', 0700);
// Native PHP:
mkdir('/tmp/photos', 0700);
使用$fs->exists()
而不是file\u exists()
,或者使用$fs->touch()
而不是touch()
也一样。还有一个$fs->copy()
,它支持第三个参数(bool)来切换覆盖现有文件,而nativecopy()
将始终覆盖目标文件
我根本不使用symfony,我使用的供应商中只有很少一家使用,这就是我发现它的地方。我是说,我为什么要使用这个组件?在我看来,它像是带有额外步骤的本机函数。您的建议将有助于了解我是否应该在将来使用这样的组件
接口的强大功能
)与引擎一起使用amazon、dropbox或其他外部驱动器文件\u exists
,那么它将正常工作。但是明天你的老板会说“从现在开始我们要清理文件。你必须进入代码,用
s3\u file\u exists`更改所有file\u exists方法。”
一旦您使用了Symfony的类,您所要做的就是将其与以下内容交换:\Amazon\Custom\Package\FileSystem
,您就可以开始了!文件系统组件是一些PHP的包装器
在我看来,与普通PHP函数相比,它最重要的改进是可以对目录及其所有文件和子目录递归应用函数(copy()
,remove()
,mkdir()
,chmod()
等)
它提供的另一个重要增强是可移植性。该库处理操作系统之间的差异(目录分隔符、Windows上不存在的某些函数等).谢谢,这对我来说很有意义:)嗯。#3是有效的,假设您需要支持多个文件系统,但其余的?La La land。例如,您能否指出一个案例,其中php面向文件的函数的参数顺序发生了更改?我不这么认为。FUD是一件坏事。@Cerad并不意味着签名会随着时间的推移而更改。我指的是外观相似的方法之间的不一致。例如str_replace($search,$replace,$string)和substr($string,$start,$length)。函数没有一致的模式。每个函数都可以有不同的参数顺序。我想我今天早上心情不好。关于文件系统函数,到底哪些函数的参数顺序不一致,而这些参数顺序又会被文件系统组件更正?请具体说明。