Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 05.09.2017 21:48:28

Генерация реальных адресов для тестовых данных

При работе с картами (гугл, яндекс) есть проблема, что нельзя генерировать тестовые адреса через любимый всеми нами Faker. В большинстве случаев геокодировщик не найдет у себя такой адрес.

Для решения этой проблемы я подготовил пакет Laradeck Address Generator.

https://github.com/ngtfkx/laradeck-address-generator/

Буду рад ревью кода пакета, советов по улучшению функциональности, архитектуры и вообще любым предложениям и критике.

Текущая версия 0.4.2

В планах добавить данные для еще примерна 50 городов РФ, сделать подключение своих файлов данных и релизить первую версию.

Во второй версии будет поддержка других стран, координаты в адресах.

Не в сети

#2 05.09.2017 23:17:48

Re: Генерация реальных адресов для тестовых данных

setCities, но addCity?
почему только 7.1 пыха?
[code]
class AddressGeneratorException extends \Exception
[/code]
начиная с 7.0 принято наследоваться от Error, нет (и ловить \Throwable)? У меня PHPStorm постоянно ругается =)

[code]
/**

                • Получаем список домов

*/
/**

                • Обрабатываем список домов

*/
[/code]
капитанские комментарии + зачем их оформлять в phpdoc стиле? светятся зеленым, будто что-то важное.

сюда бы комментарий написать, что происходит
[code]
class Helper
{
public static function prepare($string)
{
[/code]

В общем, по мелочи, что особого внимания вообще не стоит.
Смутило только 7.1 пхп, многие так и остались на 7.0, и, ты уверен, что тебе нужен include, а не require?

За старания и README — спасибо.

Изменено covobo (05.09.2017 23:22:20)

Не в сети

#3 06.09.2017 07:36:21

Re: Генерация реальных адресов для тестовых данных

>> setCities, но addCity?

set - установить (очистив то что было), add добавить к списку того что есть... Такое разделение встречал в паре крупных библиотек (какие именно уже не помню smile) Метод addCities так же есть.

>> почему только 7.1 пыха?

Возвращаемый void & псевдотип iterable. От первого можно безболезненно отказаться. Второе переделать на func_get_args

>> начиная с 7.0 принято наследоваться от Error, нет (и ловить \Throwable)

Не знал про это. Почитаю. Может переделаю.

>> капитанские комментарии + зачем их оформлять в phpdoc стиле

Согласен.

>> сюда бы комментарий написать, что происходит

Думаю вообще отказаться от отдельного класса хелпера и перенести его протектед методом в Generator. Комментарий действительно нужен.

>> Смутило только 7.1 пхп, многие так и остались на 7.0

Думал над этим. С одной стороны хочется творить на последних версиях. С другой сужается кол-во пользователей. Думаю в итоге перепишу на 7.0

>> ты уверен, что тебе нужен include, а не require?

Вот честно не знаю может ли require обрабатывать возвращаемый из подключаемого файла массив. Скорее всего может. Они ведь по сути идентичны кроме обработки ситуации когда файл не найден. По логике ты прав. Если файла нет, то дальше корректная работа не возможна и надо прерывать выполнение.

С другой стороны правильнее будет проверять есть ли файл и если нет, то выбрасывать свой эксепшен. А тут уже без разницы include or require.

Спасибо за замечания. На некоторые веши не обращал внимание. Глаз при постоянной работе замыливается.

Не в сети

#4 06.09.2017 10:17:52

Re: Генерация реальных адресов для тестовых данных

В глаза бросается обилие new Class, вместо использования DI, комменты на русском и вещи вроде "Адресов: ". Я бы все-таки сделал это на английском. А так норм, поставил звезду.

Изменено AlexeyMezenin (06.09.2017 10:18:15)

Не в сети

#5 06.09.2017 10:36:37

Re: Генерация реальных адресов для тестовых данных

>> Я бы все-таки сделал это на английском.

Будет во второй версии пакета. Пока все равно только адреса для городов из РФ.

>> В глаза бросается обилие new Class, вместо использования DI

Согласен.

Спасибо за замечания.

Изменено DBR (06.09.2017 10:36:56)

Не в сети

#6 06.09.2017 18:44:17

Re: Генерация реальных адресов для тестовых данных

С одной стороны хочется творить на последних версиях. С другой сужается кол-во пользователей.

Для тех, кто в танке - сейчас многие проекты до сих пор сидят на PHP 5.6, а вы про 7.1...

Вот честно не знаю может ли require обрабатывать возвращаемый из подключаемого файла массив.

Может, разумеется.

include тоже выбросит исключение, т.к. при ошибке оно генерирует E_WARNING, что ловится обработчиком Laravel. Но require все-таки лучше, т.к. явно показывает, что файл должен существовать.

Не в сети

#7 14.09.2017 22:10:14

Re: Генерация реальных адресов для тестовых данных

Зарелиз пакет. Реализовал возможность подключать свои данные, добавил несколько десятков городов, в требованиях уменьшил версию php до 7.0. Проверил работу на одном своем проекте - полет стабильный. Всем спасибо за советы smile все обдумал, часть реализовал.

Не в сети

Подвал раздела