Потребность в актуализации GeoIP-баз, как правило, реализуется через установку на каждом сервере утилиты geoipupdate.
В поисках идеального конструктора: с поддержкой обязательных и опциональные аргументов, дефолтных значений, возврата ошибок и простотой кода.