管理项目不可知代码库而不创建依赖项

时间:2011-03-10 20:16:45

标签: php dependencies dependency-management cross-language

我很想知道开发人员如何管理与项目无关的代码/库?

例如,给定这两个函数:

function array_exclude_keys(Array $array, Array $keys){
    foreach($keys as $key){
        unset($array[$key]);
    }
    return $array;
}

function array_order_to_assoc(Array $array){
    do{
        $return[current($array)] = next($array);
    }while(next($array));
    return !empty($return) ? $return : null;
}

这些应用非常普遍。在我目前正在开展的项目中,至少有两个地方需要array_exclude个功能,至少一个地方需要array_order_to_assoc。我甚至可以想到其他可以从中获益的项目。

现在,我可以简单地将它们修改为库,并include项目中的库,而不是将它们写入必要类(非DRY)的方法中。但是,现在需要这些功能的类完全依赖。如果没有这种依赖关系,我在这个项目中的类就完全是“复制,粘贴,包含和实例化”,这就是我想要保留它们的方式。

我很想知道别人如何处理这种情况。

1 个答案:

答案 0 :(得分:1)

如果我正确理解你的问题,听起来你应该研究php的spl_autoload功能。

这是一个教程:http://www.phpro.org/tutorials/SPL-Autoload.html