2009-08-24 3 views
0

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

Считаете ли вы, что это возможно? Любые мысли об идеальной конфигурации для этого?

спасибо.

ответ

0

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

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

Помимо этого, это обычный JS с PHP-файлом.

+0

Да, проблема в том, что я не то, что опыт работы с CakePHP еще. Могу ли я чему-то научиться на примере? –

+0

Хорошо, сделайте это медленно. Понимать архитектуру MVC. Следуйте инструкциям блога в Поваренной книге. Вы увидите, что это не что иное, как обычный вывод HTML из бэкэнда PHP. Если у вас есть какой-либо опыт, чтобы заставить ExtJS делать то, что вы хотите сделать, часть Cake не делает все это по-другому. Если вы не знаете о ООП в PHP, не пытайтесь использовать ярлык, который я описываю выше, просто используйте обычные представления. В противном случае посмотрите пример пользовательского представления: http://bakery.cakephp.org/articles/view/smarty-view-for-1-2 – deceze

0

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

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

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

0

Отъезд Bancha, он включает ExtJS 4 и CakePHP 2.

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

веселит Roland

Смежные вопросы