Laravel

Пакеты

laravel/framework

Топ 1 по рейтингу пакет для работы с  Laravel

25 k

1

laravel/lumen - микрофреймворк, урезанная версия Laravel (      7 k)

Symphony - 25 k

CodeIgniter - 18 k

 Yii2 - 13 k

phpunit/phpunit

Фреймворк тестирования

18 k

2

phpunit + xDebug = coverage

phpunit + gitlab + docker = АВТОтесты

friendsofphp/php-cs-fixer

Линтер для php

 Валидирует, форматирует, исправляет код.

10.6 k

3

pre-commit hook

Справляется за несколько секунд

spatie/laravel-medialibrary

оригинальное изображение хранится отдельно

4.7 k

4

Работа с файлами

структура хранения

хранение на S3

конверсии​ изображений

spatie/browsershot

 

Основан на puppeteer (Node.js, headless chrome)

3.4 k

5

Для обычных PDF - dompdf/dompdf, barryvdh/laravel-snappy

Для крутых - spatie/browsershot

  • Генерация PDF

  • Генерация изображений (скриншоты)

  • Получение результата выполнения js

  • Пререндер страниц

headless

spatie/data-transfer-object

1.8 k

6

Frontend

Controllers

Services

DTO

DTO

Backend

jenssegers/date

1.8 k

7

Расширение briannesbitt/Carbon

Вывод дат на многих языках (включая русский)

Пример: 11 ноября,  через 1 час,  2 месяца назад

babenkoivan/scout-elasticsearch-driver

1.1 k

8

Индексы

babenkoivan/elastic-scout-driver - попроще

babenkoivan/elastic-scout-driver-plus - посложнее

Правила

Запросы

maatwebsite/excel

10.3 k

9

class UsersExport implements FromCollection
{
    public function collection()
    {
        return User::all();
    }
}
class UsersController extends Controller 
{
    public function export() 
    {
        return Excel::download(new UsersExport, 'users.xlsx');
    }
}

barryvdh/laravel-ide-helper

13.3 k

10

Автодополнение для

  • фасадов
  • магических методов моделей
  • Service Container

barryvdh/laravel-debugbar

11.8 k

knuckleswtf/scribe

0.6 k

11

Генерация документации

Nova

laravel/nova

 

12

Админка от создателей Laravel

? k

SPA

Не генерирует код (crud)

Платная

Много чего реализовано

Можно создавать свои поля, карточки, страницы, фильтры, действия

Бывает сложно дорабатывать

ebess/advanced-nova-media-library

 

0.4 k

13

whitecube/nova-flexible-content

 

0.5 k

14

Хранится в json

Разные типы блоков

Вложенность самого в себя

emilianotisato/nova-tinymce

 

70

15

Текстовый редактор TinyMCE

Можно прикрутить UniSharp/laravel-filemanager

Многофункциональный

Некоторые плагины платные

eminiarts/nova-tabs

 

0.3k

16

Пакеты Flagstudio

flagstudio/nova-admin-bar

17

 git ветка

Можно задать ссылки в админ-панель

Текущее окружение

Сообщение текущего коммита

flagstudio/laravel-paginate

18

collect($posts)->paginate(5);

collect($posts)->paginateFirstDifferent(10, 5);
Post::paginateFirstDifferent(10, 5);

collect($posts)->paginateWithPrevious(5);
Post::paginateWithPrevious(5);

flagstudio/nova-actions-left

19

Когда можно обойтись без пакетов

Корзина

Генерация карты сайта

SEO-разметка (мета-теги)

Роли и права

Интеграции разрабатываем с нуля, потому что:

  • конфигураций 1С много, а Laravel один
  • каждый случай уникальный

mavsan / laravel-1c-protocol

arsengoian/commerce-ml

Итого

  • laravel/framework
  • phpunit/phpunit
  • friendsofphp/php-cs-fixer
  • spatie/laravel-medialibrary
  • spatie/browsershot
  • jenssegers/date
  • babenkoivan/scout-elasticsearch-driver
  • maatwebsite/excel
  • barryvdh/laravel-ide-helper
  • barryvdh/laravel-debugbar
  • knuckleswtf/scribe
  • laravel/nova
  • ebess/advanced-nova-media-library
  • whitecube/nova-flexible-content
  • emilianotisato/nova-tinymce
  • eminiarts/nova-tabs
  • Flagstudio/nova-admin-bar
  • flagstudio/laravel-paginate
  • flagstudio/nova-actions-left