我正在创建一个包含许多不同文件的大型系统(此时约为300个)。我创建了一个文件来保存各种用户定义的函数。
我开始认为最好为每个函数名添加一个前缀,以免与先前定义的函数发生意外冲突。例如......
我的职能:function add_value()
使用前缀:function PREFIX_add_value()
对于PREFIX_
部分我认为我可以创建一个变量,以便将来可以在必要时轻松更改前缀。所以,也许是这样......
$func_prefix = 'package_name';
function $func_prefix . add_value()
但这并不起作用。
那么,是否有关于如何命名/预置函数的最佳实践,以避免在具有许多文件的系统中发生冲突?
顺便说一句,我在共享主机方案上有PHP 5.2.17。
答案 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();