Збірка адміністративної панелі для Laravel PHP Framework | блог Evergreen 8 Збірка адміністративної панелі для Laravel PHP Framework | блог Evergreen 9 Збірка адміністративної панелі для Laravel PHP Framework | блог Evergreen 10

Збірка адміністративної панелі для Laravel PHP Framework

#SaaS

При проектуванні часто доводиться стикатися з питанням: яке саме рішення використовувати в якості адмін-панелі, при розробці під Laravel. Розглянувши різноманітні варіанти, ми зупинили свій вибір на SleepingOwlAdmin 4-ої версії і додали до неї управління користувачами, ролями і правами через пакет Sentinel. А також додали реєстрацію та авторизацію через Facebook, Google+, VKontakte і реалізували заготовку під REST /RESTful ApI за допомогою пакета Dingo.

sleeping owl for laravel

Історія і можливості системи

Коли ми почали використовувати Laravel в розробці, питання CRUD-генератора для найпростіших інтерфейсів постало дуже гостро. Розробляти свою адмін-панель з нуля не хотіли принципово і провели дослідження можливостей існуючих пакетів для Laravel.

В наш short-list вийшли дві системи: Sleeping Owl і Frozennode, які порівнювалися за 15 критеріями.

​​ Вимога /критерій Frozennode Коментар Sleeping Owl Коментар
​​ 1. Швидке створення CRUD-сутностей - щоб створення нового об'єкта і інтерфейсу адміністрування під нього не займало більше, ніж 20 хвилин Відмінно Добре
​​ 2. Підтримка пов'язаних об'єктів: тобто, якщо у нас є в оголошенні поле "Місто", щоб можна було вибрати в адмінці місто, а не числовий id-шник Відмінно Відмінно
​​ 3. Можливість додати фільтри/фільтри з коробки на сторінці реєстру Відмінно Дуже просте додавання фільтрів реєстру з коробки Відмінно Виглядає так
​​ 4. Дуже бажано: інлайн-редагування прямо в реєстрі (але не на шкоду простоті кастомізації) Погано не реалізоване Погано не реалізоване
​​ 5. Пагінація на сторінках реєстру Відмінно Виглядає так Відмінно Виглядає так
​​ 6. Можливість кастомізувати сторінки реєстру кодом просто (приховувати/видаляти стовбці, робити кастомними відображення полів) Добре В рамках коробки все прийнятно Відмінно Тут явно більше можливостей для кастомізації
​​ 7. Дуже бажано: редагування одного запису не попап /сайдбарі а окремою сторінкою (може бути багато полів, в попап буде закоротко) Добре Потрібно допрацьовувати верстку, показуючи форму з сайдбара на всю ширину екрану. Сторінка окрема Відмінно
​​ 8. Дуже бажано: можливість локалізації адмінки на російський (швидко) або російська в комплекті Відмінно Підтримується близько 20-ти мов інтерфейсу Відмінно Підтримується ru і en
​​ 9. Можливість налаштувати адмінку на вже створені таблиці /моделі (тобто створили модель, в адмінці прописали, що нам треба, і вона "підхопила" записи, не вимагаючи модифікації їх під себе) Відмінно Відмінно
​​ 10. Окрема авторизація для користувачів адмінки Задовільно Використовує рідну авторизацію Laravel Відмінно Учасники адмінки - окрема сутність в системі, зберігаються в окремій таблиці
​​ 11. Дуже бажано: розподіл прав доступу за ролями (CRUD) користувачів адмінки Добре Немає вбудованої системи авторизації, використовує авторизацію рівня фреймворка Відмінно Є можливість тонкого налаштування ролей і прав, але це не коробка - потрібно писати код і розбиратися
​​ 12. Підтримка поточної стабільної версії фреймворка Laravel Відмінно Відмінно
​​ 13. Простота використання /швидкість додавання нових елементів Відмінно Добре Складніше, але більше можливостей для кастомізації
​​ 14. Зовнішній вигляд Добре Відмінно
​​ 15. Популярність, кількість завантажень і рейтинг Відмінно Добре

У підсумку ми зупинились на Sleeping Owl як на більш перспективному варіанті. Випробувавши її на декількох проектах, додали до неї управління користувачами, ролями і правами через пакет Sentinel і реєстрацію і авторизацію через Facebook, Google+, VKontakte.

Зіткнувшись пізніше з завданням розробки серверного backend під мобільні додатки, реалізували заготовку під REST/ RESTful API за допомогою пакета Dingo.

Завантажити Laravel-адмінку з GitHub та інструкція зі встановлення

Код збірки на GitHub: https://github.com/evergreen-it-dev/laravel5.3_sowl4_sentinel_dingo

Якщо є бажання налаштувати все самостійно, за посиланням вище пропонуємо покрокову інструкцію з мінімумом зайвого тексту і масою коду. Залишися питання? Звертайтеся до нас, з радістю допоможемо.

Сергій Рибалко, розробник Evergreen

Сергій Рибалко

10.01.2017
Зображення, використані в статті, були взяті з відкритих джерел і використовуються як ілюстрації.
Хочете обговорити ваш проект або замовити розробку?
Надіслати
Цей сайт є українською мовою. Ви можете переключити мову у меню, або зробити це зараз.