Я хотел бы предложить думать о сервере с точки зрения «веб-службы».По сути, ваш интерфейсный код ExtJS был бы приложением, а ваш «веб-сервис» предоставлял бы только способы извлечения и хранения данных.
По сути это было бы что-то вроде этого:
- Основанный на ExtJS "уровень пользовательского интерфейса"
- Основанный на JavaScript "уровень контроллера" работает со слоем пользовательского интерфейса
- Основанный на PHP "сервисный уровень"
- Уровень пользовательского интерфейса взаимодействуетсо слоем контроллера, который затем взаимодействует со слоем службы
Уровень службы по существу будет таким же, как в любом типичном веб-приложении PHP: он будет содержать проверку данных, фильтрацию ввода, запросы к базе данных, всеобычные вещи.Основным отличием будет то, что вместо использования PHP для генерации HTML, который затем будет отправлен в браузер, сервисный уровень будет только сериализовать результаты в JSON.
Уровень контроллера в коде JS будет выполнять запросы Ajaxк услугам.Он будет обрабатывать результаты JSON и сообщать слою пользовательского интерфейса, что он должен отображать.Он также будет содержать методы, которые обрабатывают события из пользовательского интерфейса.
Уровень пользовательского интерфейса будет просто действовать как шаблонизатор или ваш HTML-код.Он будет отображать данные, назначенные ему со слоя контроллера, и будет вызывать функции на уровне контроллера для обработки таких событий, как нажатие кнопок.