Публикация и переиспользование

Улучшения компонента перед публикацией. Идеи по подключению сторонних библиотек. Обзор результата.

Скрытый контент
Комментарии (11)
Rodion

Добрый день! Было бы очень полезно и интересно, чтобы собрать данную структуру воедино с единой точкой входа. Также увидеть правильно распределение архитектуры проекта. Из фронта - просто поле для ввода ip. Будет ли у Вас возможность написать данный урок? Спасибо.

Ответить
Дмитрий Елисеев

Можно добавить в проект на любом фреймворке, как мы будем добавлять всё в серии по Slim.

Ответить
Андрей

Исходный код можно на github'е посмотреть?)

Ответить
Дмитрий Елисеев

Кода здесь мало, так что на GitHub не выкладывали.

Ответить
fedot

А можно выложить? Хотелось бы иметь пример этого мастер класса.

Ответить
Фарух

Залил код: https://github.com/farukh-narzullaev/geo-locator Правда кэширование еще не прикрутил. Буду рад любой критике. Файл index.php как пример.

Ответить
fedot

Спасибо

Ответить
Фарух

Есть ли смысл тестировать объект Location? Я почти никогда не писал тесты, опыта мало, но как тестить DTO объекты, типа Location, там ведь никакой логики не прописано или я чего то не понимаю?

Ответить
Дмитрий Елисеев

В своём коде смысла особого нет. Но если делаем библиотеку, то желательно протестировать всё.

Ответить
Maksim

Дмитрий, напишите, пожалуйста, как бы выглядела структура файлов и директорий этой библиотеки.

Ответить
Дмитрий Елисеев

Классов у неё немного, поэтому все файлы можно оставить в одной папке src с тестами в tests. Но для минимализма можно класс для каждого конкретного API вынеси в свою отдельную библиотеку как это сделано в библиотеке league/flysystem, где реализации публикуются отдельными пакетами вроде league/flysystem-ftp.

Ответить
Зарегистрируйтесь или войдите чтобы оставить комментарий