По определению, ваша администрация и ваш веб-интерфейс - это РАЗНОЕ веб-приложение, и они заслуживают другого класса API. Также они должны быть расположены по разным URL-адресам, чтобы точка входа для них была разной. содержимое frontend / index.php будет содержать:
$api=new Frontend('MyFrontend','elephant');
в то время как для администратора / index.php
$api=new Admin('MyAdmin');
Имея такие отдельные приложения, вы также убедитесь, что аутентификация для внешнего интерфейса не позволит пользователям получить доступ к области администрирования.
Хотя классы администрирования разные, вполне нормально:
- Определить общего предка для обоих классов API. (класс Admin расширяет MyApp, а класс Frontend расширяет MyApp)
- Используйте тот же контроллер, особенно если вам нужно сделать некоторые вычисления. Например, если вы внедряете Payroll Web App, вы можете захотеть иметь $ this-> payroll = $ this-> add ('Controller_Payroll') в обоих API.
- Модели просто ДОЛЖНЫ делиться. Потому что вы обращаетесь к той же базе данных. Все, что вам нужно сделать, это включить папку lib библиотеки frontend в качестве ресурса PHP для вашего администратора.
Страницы не должны быть общими, вы не хотите смешивать страницы.