gpt4 book ai didi

php - 如何减少代码重复

转载 作者:可可西里 更新时间:2023-11-01 00:56:12 27 4
gpt4 key购买 nike

由于我不熟悉 PHP,我想知道如何减少这里的代码重复?这两种方法在这里做完全相同的事情...除了提取字符串的部分(filemtimebasename)和连接。

private function modified_hash( $files ) {
$joined = "";

foreach ( $files as $file ) {
$joined .= filemtime( $file );
}

return $this->checksum( $joined );
}

private function filename_hash( $files ) {
$joined = "";

foreach ( $files as $file ) {
$joined .= basename( $file );
}

return $this->checksum( $joined );
}

最佳答案

声明一个统一函数,而不是两个函数,并为关键的回调/函数名称 $func_name 声明一个参数:

/**
* Gets joined files hash
*
* @param $files an array of file paths
* @param $func_name callback name
* @return mixed
*/
private function getFilesHash($files, callable $func_name) {
$joined = "";

foreach ($files as $file) {
$joined .= call_user_func($func_name, $file);
}

return $this->checksum($joined);
}

用法:

$fileHash = getFilesHash($files, 'basename');

使用的函数: call_user_func

关于php - 如何减少代码重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42566140/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com