PHP - 在函数名前加上变量

时间:2014-07-18 18:28:12

标签: php function

我正在创建一个包含许多不同文件的大型系统(此时约为300个)。我创建了一个文件来保存各种用户定义的函数。

我开始认为最好为每个函数名添加一个前缀,以免与先前定义的函数发生意外冲突。例如......

我的职能:function add_value()
使用前缀:function PREFIX_add_value()

对于PREFIX_部分我认为我可以创建一个变量,以便将来可以在必要时轻松更改前缀。所以,也许是这样......

$func_prefix = 'package_name';
function $func_prefix . add_value()

但这并不起作用。

那么,是否有关于如何命名/预置函数的最佳实践,以避免在具有许多文件的系统中发生冲突?

顺便说一句,我在共享主机方案上有PHP 5.2.17。

2 个答案:

答案 0 :(得分:0)

用法:

<?php

$func_prefix = 'package_name'; 
$name = $func_prefix . '_add_value';
$name();// call package_name_add_value();

答案 1 :(得分:0)

您正在尝试解决不存在的问题。您并不是第一个遇到此问题的人,并且已经创建了许多范例。这是软件设计的世界。

我的意思是最好的意图,但是如果你有300个文件的项目,并且在不考虑面向对象的方法的情况下问过这个问题,那么我能给你的唯一好处就是有一天你会回顾这个项目有点怀疑。

我建议您在基础级别学习和面向对象编程。 Java,C ++,PHP,无所谓,但阅读和实验。然后考虑您可以在项目中识别的“对象”。

存在命名空间以防止冲突,但现在不要过于担心。我怀疑如果你在代码中构建正确的对象,你的冲突可能会消失。

那就是说,下面的代码虽然“丑陋”,但应该用来解决你的问题

function file1_foo(){
    ....
}

$prefix = 'file1_';
$function = $prefix.'foo';
$function();