2

介绍

我有某种值,我可能想在每个页面加载时访问几次。我可以采用两种不同的方法来访问它们,但我不确定哪一种“更好”。三个已经实现的示例是我在此处描述的语言、URI 和显示文本的几个选项:

语言

现在它是这样配置的:lang()是一个根据参数返回不同值的函数。

示例:lang("full")打印当前语言“English”,同时lang()打印当前语言的缩写“en”。还有更多选项,例如打印不同内容lang("select")的 ,lang("selectact")等。该代码太长且与案例无关,因此如果有人想要它,只需询问即可。

网址

$Url 数组还根据请求返回不同的值。整个数组在页面的开头完全定义,用于获取当前页面的较短但准确的链接。

示例:echo $Url['full']将打印“http://mypage.org/path/to/file.php?page=1”并echo $Url['file']打印“file.php”。它对action=""表单和许多其他事情很有用。$Url['folder'],等有更多的值$Url['file']。代码也一样,如果需要,只需请求即可。

文本

[您可以跳过此部分]

还有一个名为 $Text 的数组,其定义方式与 $Url 相同。整个数组在开始时定义,进行 mysql 调用并$Text[$i]使用 while 循环为当前页面定义 all。我不确定这是否比对单个 mysql 单元的多次调用更有效。

示例:echo $Text['54']打印“这只是一个测试数组!” 这可以用类似的函数完美地实现text(54)

问题

通过 3 个示例,您可以看到我使用不同的方法来完成几乎相同的功能(没有双关语),但我不确定哪一种应该成为我的代码的标准方法。我可以创建一个名为url()和其他调用的函数text()来输出我想要的。我认为在这些情况下使用函数会更好,但我不确定为什么。所以我非常感谢你的意见和建议。

我应该按照我描述的方式混合数组和函数还是应该只使用函数?

请在此基础上回答您的问题:

  • 源代码需要其他开发人员可读可重用
  • 资源消耗(处理、时间和内存)。
  • 代码越越好。
  • 解释的原因越多越好。

谢谢

PS,现在我知道 $Url 和 $Uri 之间的区别了。

4

2 回答 2

2

听起来您正在通过数组表示法实现模棱两可的功能。通常,这些是带有方法的类。$url['full']将是$url->getFullPath()。方法比数组访问器更受欢迎,因为方法已记录在案,并且可以由 IDE 进行自省。对象更可取,因为(在您的示例中)您可以延迟加载信息。现在,您的脚本正在编译$Url数组并为每个可能的键计算值,以便在脚本中使用它。而$request对象只能根据请求进行解析 - 而不是实例化。

于 2012-04-04T23:20:48.093 回答
0

我正在使用类似 config array var 的东西。设置字符串的位置。$LBL["hello"]='Hi!'比.更适合以后阅读使用lbl(5)。想想你自己什么时候会在一年后回到你的代码:)

于 2012-04-04T23:27:39.077 回答