Я написал REST API с Laravel. Кроме того, я хочу создать панель администратора с множеством статистических данных и «мощными» средствами модерации, которые должны отображаться на стороне сервера. В то время как REST API использует OAuth2.0 и возвращает JSON + HAL (HATEOAS), панель администратора будет использовать аутентификацию HTTP Basic, а также учетную запись обычного учетного имени с аутентификацией на основе сеанса.Laravel: удлинить модели со второго приложения Laravel
Я знаю, что было бы легко использовать второй фильтр auth-filter и Route, чтобы все это происходило в одном приложении. И я знаю, что libs загружаются только при необходимости. Но я хочу создать второе приложение, которое полностью независимо.
Почему? Чтобы облегчить REST API: нет ненужных библиотек, нет второго уровня авторизации, нет дополнительных маршрутов, правил и фильтров и т. Д. REST API - это Restful, и я не хочу добавлять дополнительный беспорядок. Хотя это может сделать тестирование немного сложнее.
Вот как это должно выглядеть следующим образом:
бэкэндом
- отдыха (Laravel приложение 1)
- приложение
--- модели
--- - RestapiModel.php
- Администратор (приложение Laravel 2)
- приложение
--- модели
---- AdminModel.php
Проблема is: В приложении 2 мне нужно работать с моделями приложения 1 Так что я хотел бы сделать s.th. как
class AdminModel extends RestapiModel {
protected $connection = 'application_1_database';
// Statistical methods
// Database manipulation
// etc.
}
теперь у меня есть два вопроса:
Как я могу сделать это возможным? «AdminModel extends RestapiModel» не будет работать. Должен ли я использовать пространства имен, черты или просто включать модель поверх файла? Как бы вы решили это?
Что вы думаете о полном подходе к отдельным API и администрированию?
Заранее спасибо
Phil
Couldnt Админцентре просто взаимодействовать с API, а? Затем у вас есть один «интерфейс» для вашего приложения ... – Laurence
Это также добавит много помех для контроллеров, так как мне нужно будет добавить уровень разрешений или ролей к контроллерам, поскольку администраторы имеют больше прав и возможностей, чем обычные клиенты , Конечно, для некоторых нормальных методов это сработает. Но это также затруднит различие между функциями администратора и «нормальными» функциями. Но, честно говоря, я просто не люблю иметь административные функции и клиентские функции в одном и том же месте. Просто ощущение, что это сделает модели, а также контроллеры действительно большими. – pz90