Интеграция CakePHP с ExtJS 3 - PullRequest
       21

Интеграция CakePHP с ExtJS 3

0 голосов
/ 24 августа 2009

Я пользователь PHP и ExtJS. Я смотрю на разработку приложения с использованием хорошего PHP-фреймворка (CakePHP; хорошо как в «Я считаю, что это хорошо для меня») и ExtJS версии 3. Чего я хотел бы добиться, так это полного окна просмотра Ext со множеством сеток и функций, которые могли бы вызывать PHP-URL для извлечения данных, сохранения данных, редактирования / удаления данных (не только для сеток, но и для древовидной панели и т. д.). Я хотел бы использовать CakePHP в качестве бэкэнда со всеми его возможностями для выполнения этих функций. Моя первая цель - интегрировать компонент obAuth (или любой другой плагин безопасной аутентификации для CakePHP) с интерфейсом входа ExtJS 3. Я ищу лучший способ комбинировать их, чтобы я мог легко ограничить функции, основанные на доступе группы пользователей. Я имею в виду установку, в которой зарегистрированный пользователь делает один пост из Ext о выполнении функции, а ответ CakePHP представлен в виде ошибок или уведомителей через поля предупреждений Ext.

Как вы думаете, это возможно? Есть мысли об идеальном конфиге для этого?

Спасибо.

Ответы [ 3 ]

0 голосов
/ 24 августа 2009

Это на самом деле очень просто. Во-первых, интегрируйте компонент obAuth в базовую установку CakePHP, чтобы увидеть, работает ли он правильно и не имеет ли странных изысков. Как только это будет сделано, приступайте к работе на своем интерфейсе.

Ваш веб-интерфейс должен быть полностью разработан с использованием компонентов ExtJS. Либо создайте свой веб-интерфейс с помощью ExtJS, либо с помощью шаблонов HTML, но старайтесь не делать того и другого, так как это становится запутанным и сложным в обслуживании. Я недавно сделал это, и у каждого действия контроллера было представление, которое настраивало DOM с некоторыми базовыми элементами (заголовок для страницы, любые элементы div, с которыми мне нужно было связать компоненты, и файл .js, который был определен для этой страницы / представления ).

Затем подайте заявку RESTful . Все ваши компоненты ExtJS могут читать данные из хранилища данных (или могут просто использовать URL-адрес в качестве источника данных), поэтому вы просто указываете им нужные пути, и все готово.

0 голосов
/ 28 декабря 2011

Проверьте Bancha , он объединяет ExtJS 4 и CakePHP 2.

Он делает это, выполняя все коммуникации в фоновом режиме, используя полностью реализованный Ext.Direct для CakePHP.

веселит Roland

0 голосов
/ 24 августа 2009

Если вы часто переключаетесь между JavaScript и Cake, первое, что вы можете сделать, - переопределить или расширить класс View по умолчанию, чтобы он автоматически упаковывал переменные, которые вы установили в контроллере, в массив JSON Что вы предпочитаете. Это избавит вас от необходимости создавать представление для каждого действия и / или переопределять макет каждый раз. Изучите cake/libs/view/view.php и / или cake/libs/view/media.php, вы можете создавать собственные представления в app/views/.

Много используйте компонент RequestHandler для повторного использования логики как для обычных представлений, так и для AJAX.

Кроме того, это обычный JS с бэкэндом PHP.

...