gpt4 book ai didi

php - 在哪里存储辅助函数?

转载 作者:可可西里 更新时间:2023-11-01 13:27:14 25 4
gpt4 key购买 nike

我有很多我创建或从网络复制的功能。

我想知道我是应该将它们存储在一个我刚刚包含在脚本中的文件中,还是应该将每个函数存储为一个类中的静态方法。

例如。我有一个 getCurrentFolder() 和一个 isFilePhp() 函数。

它们应该按原样存储在一个文件中还是每个都存储在一个类中:

文件夹::getCurrent()文件::isPhp();

你好吗?

我知道这是一个“如你所愿”的问题,但如果有一些建议/最佳实践就更好了

谢谢。

最佳答案

你说得对,这是一个非常主观的问题,但我可能会混合使用你的两个选项。

您有一个具有 __call()(和/或 __callStatic(),如果您使用的是 PHP 5.3+)的类(比如 Helper)magic methods ,当调用未定义的 [static] 方法时,它将加载相应的帮助文件并执行帮助函数。请记住,尽管包含文件会降低性能,但我相信您在文件组织方面获得的好处远远超过对性能的微小影响。

一个简单的例子:

class helper {
function __callStatic($m, $args) {
if (is_file('./helpers/' . $m . '.php')) {
include_once('./helpers/' . $m . '.php');
return call_user_func_array($m, $args);
}
}
}

helper::isFilePhp(/*...*/); // ./helpers/isFilePhp.php
helper::getCurrentFolder(/*...*/); // ./helpers/getCurrentFolder.php

你可以进一步优化这个片段,甚至有几种类型的助手(文件夹,文件)等等,通过添加一个 __call[Static]() 魔法方法到你的每个类并实现辅助文件/函数的文件夹/文件结构中的一些逻辑。

关于php - 在哪里存储辅助函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2717846/

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