Кохана 3.1: Вызов контроллера из другого; не возвращает данные - PullRequest
1 голос
/ 15 апреля 2011

Кажется, я не могу обернуть голову вокруг этого ... У меня есть несколько вопросов, пожалуйста, потерпите меня!:)

Во-первых, установка:
У меня есть контроллер (controllerA), который расширяет Controller_Template.В представлении шаблона controllerA у меня есть вкладки jQuery, которые AJAX-загружает другой контроллер (controllerB).И затем у меня есть «основной» контроллер, который содержит функции, которые я повторно использую в других контроллерах (ну, в любом случае, я бы хотел).

Теперь по моим вопросам:

1. Можно ли (лучше всего) загружать содержимое вкладки jQuery, как я упоминал выше, с помощью:
<li><a href="/controller">test</a></li>?

2. В JS и PHP у меня всегда был «основной» файл для кода многократного использования.Есть ли лучшая альтернатива для этого?Должен ли я вместо этого, чтобы ядро ​​расширило Controller, а затем расширило все мои контроллеры?Я обеспокоен накладными расходами, хотя.

3. В заключение, если я вызову ядро ​​с помощью Request::factory()->execute()->response(), я ничего не получу, если не использую что-то вроде die($data) вместо return $data it.Но если я вызову эту функцию изнутри другой в ядре, она не будет работать.Как я могу заставить его работать по всем направлениям?

Спасибо за вашу помощь, как всегда!

Брайан

1 Ответ

2 голосов
/ 16 апреля 2011
  1. Используйте обратная маршрутизация для генерации URI проекта. Или вы будете изменять все ваших взглядов после изменения правил маршрутизации.
  2. Расширьте Controller_Template в вашем базовый класс контроллера - это будет родительский класс для всех остальных контроллеры.
  3. Request::factory()->execute()->response() возвращает строку, так что вам нужно по крайней мере echo. И не забудьте установить $ this-> request-> ответ в вашем Ajax метод.
...