Управление независимыми от проекта библиотеками кода без создания зависимостей - PullRequest
1 голос
/ 10 марта 2011

Мне любопытно узнать, как коллеги-разработчики управляют независимым от проекта кодом / библиотеками?

Например, с учетом этих двух функций:

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), я мог бы просто изменить их на библиотеку и include эту библиотеку в проекте. Однако теперь классы, требующие этих функций, полностью зависимы. Без такой зависимости мои классы в этом проекте в буквальном смысле слова " копируют, вставляют, включают и создают ", что я и хотел бы сохранить.

Мне любопытно узнать, как другие справляются с такими ситуациями.

1 Ответ

1 голос
/ 11 марта 2011

Если я правильно понимаю ваш вопрос, похоже, вы должны изучить функциональность spl_autoload в php.

Вот учебник: http://www.phpro.org/tutorials/SPL-Autoload.html

...