1
我很想知道开发人员如何管理项目不可知的代码/库?管理不依赖项目的代码库
例如,假设这两个函数:
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
。我甚至可以想到其他将从这些语义上受益的项目。
现在,我们可以简单地将它们修改为库,并将它们写入项目中的库中,而不是将它们写入必要类(非DRY)的方法中。但是,现在需要这些功能的类完全依赖于它们。没有这种依赖关系,我在这个项目中的类实际上是“复制,粘贴,包含和实例化”,这就是我想要保留它们的方式。
我很想知道其他人如何处理这种情况。
**感谢vicTROLLA; **这不正是我上一下,我已经在使用的核心'__autoload()'对自动加载(而SPL为更强大,这在这个项目中根本就没有必要)这个项目中的一些类可以完全独立运行,也许是最好的松耦合。我的'路由器'是其中之一,但是需要上述功能,但其他类也是如此。我看到它的选择,是在每个课程中重复必要的方法,或将它们加载到外部库中。我只是对保持松散耦合的替代品感到好奇。 – Dan 2011-03-11 03:44:11