Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP-在函数名前面加上变量 我正在创建一个相当大的系统,其中包含了大约300个不同的文件。我创建了一个文件来保存各种用户定义的函数_Php_Function - Fatal编程技术网

PHP-在函数名前面加上变量 我正在创建一个相当大的系统,其中包含了大约300个不同的文件。我创建了一个文件来保存各种用户定义的函数

PHP-在函数名前面加上变量 我正在创建一个相当大的系统,其中包含了大约300个不同的文件。我创建了一个文件来保存各种用户定义的函数,php,function,Php,Function,我开始认为最好在每个函数名中添加一个前缀,以免与先前定义的函数发生意外冲突。例如 我的函数:函数添加值 带前缀:函数前缀添加值 对于前缀部分,我想我可以创建一个变量,以便将来在必要时可以轻松更改前缀。所以,也许像这样的事情 $func_前缀='package_name'; 函数$func_前缀。增值 但这不起作用 那么,对于如何命名/前置函数,以避免系统中存在多个文件的冲突,是否有最佳实践 顺便说一句,我的共享托管计划中有PHP5.2.17。用法: <?php $func_prefix

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

我的函数:函数添加值 带前缀:函数前缀添加值

对于前缀部分,我想我可以创建一个变量,以便将来在必要时可以轻松更改前缀。所以,也许像这样的事情

$func_前缀='package_name'; 函数$func_前缀。增值

但这不起作用

那么,对于如何命名/前置函数,以避免系统中存在多个文件的冲突,是否有最佳实践

顺便说一句,我的共享托管计划中有PHP5.2.17。用法:

<?php

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

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

我的意思是最好的意图,但如果你有一个300个文件的项目,并且没有考虑面向对象的方法就提出了这个问题,那么我能给你的唯一积极的一面是,有一天你会带着些许怀疑回顾这个项目

我建议您在基础阶段学习面向对象编程。java、C++、PHP,没关系,但是阅读和实验。然后考虑在项目中你可以识别什么“对象”。p> 名称空间的存在是为了防止冲突,但现在不要太担心这一点。我怀疑如果在代码中构建正确的对象,冲突可能会消失

也就是说,下面的代码虽然“丑陋”,但应该用于解决您的问题

function file1_foo(){
    ....
}

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

上课是我的建议。这是为变量函数所发明的:$foo='prefix'_添加_值'$福。但不要这样做。就像Mark Baker说的,使用名称空间,它们是解决问题的特效药。不幸的是,名称空间看起来像是PHP5.3的东西,而我有5.2.17。其他想法?在前缀命名的文件/文件夹和类中分组函数。您的函数调用将保持不变,只有包含的文件将保持不变。