Как вы реализуете интерфейс для внешнего пакета в Laravel? Скажем, я хочу использовать API Mashape/Unirest для анализа текста, но в будущем я хотел бы переключиться на другого поставщика API и не сильно менять код.
interface AnalyzerInterface {
public function analyze(); //or send()?
}
class UnirestAnalyzer implements AnalyzerInterface {
function __constructor(Unirest unirest){
//this->...
}
function analyze($text, $lang) {
Unirest::post(.. getConfig() )
}
//some private methods to process data
}
А куда девать файлы interfece и UnirestAnalyzer? Сделать для них специальную папку, добавить в композитор? Добавить пространство имен?