Size: a a a

Laravel Framework Russian Community

2021 February 10

ar

agnerfist rm -rf in Laravel Framework Russian Community
не парьтесь, меня пытались тупо наебать
источник

ar

agnerfist rm -rf in Laravel Framework Russian Community
торч хотел просто шоп сделать
источник

A

Azeez in Laravel Framework Russian Community
Если создать в контроллере коллекцию $users = collect(); а затем пушить в неё данные через $users->push(['id' => 123, 'name' => 'Ivan']); и отправлять в шаблон. В шаблоне данные доступны через $user['id']. Почему не через $user->id?
источник

A

Alex in Laravel Framework Russian Community
Azeez
Если создать в контроллере коллекцию $users = collect(); а затем пушить в неё данные через $users->push(['id' => 123, 'name' => 'Ivan']); и отправлять в шаблон. В шаблоне данные доступны через $user['id']. Почему не через $user->id?
Потому что так не работает.
https://laravel.com/docs/8.x/collections
источник

EG

Egor Gruzdev in Laravel Framework Russian Community
Azeez
Если создать в контроллере коллекцию $users = collect(); а затем пушить в неё данные через $users->push(['id' => 123, 'name' => 'Ivan']); и отправлять в шаблон. В шаблоне данные доступны через $user['id']. Почему не через $user->id?
потому что ты запушил массив, запуш \stdClass будет как объект
 $users->push((object)['id' => 123, 'name' => 'Ivan']);
источник

A

Azeez in Laravel Framework Russian Community
Egor Gruzdev
потому что ты запушил массив, запуш \stdClass будет как объект
 $users->push((object)['id' => 123, 'name' => 'Ivan']);
👍
источник

MM

Maksim Melnichuk in Laravel Framework Russian Community
Подскажите кто шарит, доку для апи как отдельный контейнер выносить или в проекте хранить с апи, swagger (openapi), api blueprint либо еще что-то, автогенерация доки через тесты либо вообще md харкор, кто что использует посоветует? проект большой, апи тоже. на мысли крутится версионность с минорными фиксациями и отображение в доке этих изменений для фронтенд группы
источник

B

Bat in Laravel Framework Russian Community
Maksim Melnichuk
Подскажите кто шарит, доку для апи как отдельный контейнер выносить или в проекте хранить с апи, swagger (openapi), api blueprint либо еще что-то, автогенерация доки через тесты либо вообще md харкор, кто что использует посоветует? проект большой, апи тоже. на мысли крутится версионность с минорными фиксациями и отображение в доке этих изменений для фронтенд группы
Все существующие автогенерашки апишек дерьмище еще то. Лучше ими воспользоваться один раз  (если проект написан уже без доки) и потом ручками приводить к человеческому виду. Ну или есть кажись одна нормальная но там придется засрать код аннотациями
источник

MM

Maksim Melnichuk in Laravel Framework Russian Community
Bat
Все существующие автогенерашки апишек дерьмище еще то. Лучше ими воспользоваться один раз  (если проект написан уже без доки) и потом ручками приводить к человеческому виду. Ну или есть кажись одна нормальная но там придется засрать код аннотациями
засрать код аннотациями это точно нет
источник

A

Alex in Laravel Framework Russian Community
Maksim Melnichuk
Подскажите кто шарит, доку для апи как отдельный контейнер выносить или в проекте хранить с апи, swagger (openapi), api blueprint либо еще что-то, автогенерация доки через тесты либо вообще md харкор, кто что использует посоветует? проект большой, апи тоже. на мысли крутится версионность с минорными фиксациями и отображение в доке этих изменений для фронтенд группы
Не знаю, доку делали в редоке отдельным контейнером, но все ручками
источник

ИА

Игорь Алексейчук... in Laravel Framework Russian Community
Maksim Melnichuk
Подскажите кто шарит, доку для апи как отдельный контейнер выносить или в проекте хранить с апи, swagger (openapi), api blueprint либо еще что-то, автогенерация доки через тесты либо вообще md харкор, кто что использует посоветует? проект большой, апи тоже. на мысли крутится версионность с минорными фиксациями и отображение в доке этих изменений для фронтенд группы
Я делал такую вещь.
Считывал список доступных роутов , разбирал эти роуты, точнее уже сами контроллеры при помощи рефлексии и генерировал доку
Единственный момент, что для таких телодвижений нужны либо хорошие phpDoc комменты,
либо как я делал, везде юзать кастомные классы реквестов и желательно jsonResource для респонсов
тогда можно что-то более-менее человеческое слепить
источник

MM

Maksim Melnichuk in Laravel Framework Russian Community
Alex
Не знаю, доку делали в редоке отдельным контейнером, но все ручками
редок это что? и ручками это md файлами?
источник

A

Alex in Laravel Framework Russian Community
Maksim Melnichuk
редок это что? и ручками это md файлами?
JSON.
https://github.com/Redocly/redoc
Это было для публичной доки
Для своих был ридми мдешный
источник

MM

Maksim Melnichuk in Laravel Framework Russian Community
Игорь Алексейчук
Я делал такую вещь.
Считывал список доступных роутов , разбирал эти роуты, точнее уже сами контроллеры при помощи рефлексии и генерировал доку
Единственный момент, что для таких телодвижений нужны либо хорошие phpDoc комменты,
либо как я делал, везде юзать кастомные классы реквестов и желательно jsonResource для респонсов
тогда можно что-то более-менее человеческое слепить
ну это стандартный подход к автогенерации, мне не нравится что по итогу код засран сильно, появляется много лишних телодвижений, это тяжело поддерживать, ну и опять же хотелось бы видеть изменения по сравнению с прошлой минорной версией, типо появилось новое поле, удалено, переименовано
источник

MM

Maksim Melnichuk in Laravel Framework Russian Community
Alex
JSON.
https://github.com/Redocly/redoc
Это было для публичной доки
Для своих был ридми мдешный
да видел этот продукт, наверное хотели swagger взять но показался деревянным и взяли это? я тоже приглядывался, у вас получается отдельный репо с этим app и там же файлы спецификации?
источник

ИА

Игорь Алексейчук... in Laravel Framework Russian Community
Maksim Melnichuk
ну это стандартный подход к автогенерации, мне не нравится что по итогу код засран сильно, появляется много лишних телодвижений, это тяжело поддерживать, ну и опять же хотелось бы видеть изменения по сравнению с прошлой минорной версией, типо появилось новое поле, удалено, переименовано
Ну вот и отлично. Обновил Класс request и увидел новые входные параметры. Добавил к респонсу поле - тоже сгенерировано
источник

EG

Egor Gruzdev in Laravel Framework Russian Community
Maksim Melnichuk
Подскажите кто шарит, доку для апи как отдельный контейнер выносить или в проекте хранить с апи, swagger (openapi), api blueprint либо еще что-то, автогенерация доки через тесты либо вообще md харкор, кто что использует посоветует? проект большой, апи тоже. на мысли крутится версионность с минорными фиксациями и отображение в доке этих изменений для фронтенд группы
мне больше всего понравилось вот это

https://apidocjs.com/

как вариант каждый action маршрута можно закинуть в отдельный файл и в этом же файле через doctype сделать описание, которое потом будет использовано при генерации

но я собирал все в отдельной папке
источник

A

Alex in Laravel Framework Russian Community
Maksim Melnichuk
да видел этот продукт, наверное хотели swagger взять но показался деревянным и взяли это? я тоже приглядывался, у вас получается отдельный репо с этим app и там же файлы спецификации?
Да
источник

MM

Maksim Melnichuk in Laravel Framework Russian Community
Egor Gruzdev
мне больше всего понравилось вот это

https://apidocjs.com/

как вариант каждый action маршрута можно закинуть в отдельный файл и в этом же файле через doctype сделать описание, которое потом будет использовано при генерации

но я собирал все в отдельной папке
хм. там есть хорошая функция версионности это круто! но опять же doctype это треш(
с одной стороны хорошо когда есть маршрут метод и описание полное по нему + дока генерится, с другой код увеличивается раздувается превращаясь в помойку. мне кажется поддерживать это становится сложно , нету гибкости чтобы детально все указать, вернее возможность есть, но вместо отдельного файла будет огромный на 300 строк описания что принимает возвращает какие параметры возможные есть. Ну и в вашем кейсе версионности нету, метод правишь, доку правишь, что поменялось добавилось никто не знает, даже намека хотябы на определенный роут. К примеру фронтендищк не имеет доступа к бекенду и не должен, он работает сам по себе ему нужна только дока.
источник

MM

Maksim Melnichuk in Laravel Framework Russian Community
Alex
Да
сколько работаете уже с ним и много ли времени отнимает описывает эту спецификацию?
источник