希望能允许覆盖框架预定义的函数

aphper

群主定义函数的时候是否可以先用function_exists检查一下,希望能允许业务代码覆盖框架自带的函数,因为自带的有部分函数实在是....太丑了

/**
 * webman\config\log.php
 */

return [
    ...
       'constructor' => [
            runtime_path() . '/logs/webman.log',
....

调用 runtime_path() 完全可以 runtime_path('logs/webman.log') 这样 美观大方,群主预定义的一系列路径函数base_path() app_path() config_path() 都有这个问题

不带恶意的说这真的是丑到家了,处女座的我无法容忍

于是我尝试覆盖重写这几个函数

function app_path($path = '')
{
    $path = DIRECTORY_SEPARATOR . ltrim($path, '\\');
    return base_path( BASE_PATH .  $path );
}

发现冲突了...

你们可以说让我自己再改个名儿,比如叫 app_path2(), 就不存在冲突了

可是那就变得更丑了,每天面对 app_path2() 这种函数命名,我一定会很憋屈,每天都很难受,进而因为每天都生活在不开心中而短寿

跪求群主下个版本允许覆盖这些函数

985 5 1
5个回答

aphper

  • walkor 2022-03-29

    如果有覆盖helper里的函数,记得兼容老用法。不然有些插件是以webman官方helper函数为准的,装到你项目可能会有问题。

walkor 打赏

请发pr

  • 暂无评论
Tinywan

就喜欢当前,不喜欢 runtime_path('logs/webman.log')这样子一点也不习惯

  • 暂无评论
不败少龙

还是不要随意改了,不然写好的应用要大规模更改

  • walkor 2022-03-29

    helper里加 function_exists 判断,不改动其它的东西,webman原来用法不变。加function_exists判断可以允许开发者覆盖helper.php里的函数。

  • array_walk 2022-03-30

    赞同。框架层次的还是已稳定为主要点

小杰

runtime_path等这种框架预定义的路径,使用方法统一就很好,有时候虽然可以有更多的灵活性,但会感觉比较乱。

  • 暂无评论
年代过于久远,无法发表回答
×
🔝