Можно ли вызвать функцию-член другого контроллера в рамках zend, если да, то как?
<?php
class FirstController extends Zend_Controller_Action {
public function indexAction() {
// general action
}
public function memberFunction() {
// a resuable function
}
}
Здесь другой контроллер
<?php
class SecondController extends Zend_Controller_Action {
public indexAction() {
// here i need to call memberFunction() of FirstController
}
}
Пожалуйста, объясните, как я могу получить доступ к функции memberFunction() со второго контроллера.
Решение
Лучшая идея - определить AppController и сделать все обычные контроллеры для расширения AppController, который расширяет Zend_Controller_Action.
class AppController extends Zend_Controller_Action {
public function memberFunction() {
// a resuable function
}
}
class FirstController extends AppController {
public function indexAction() {
// call function from any child class
$this->memberFunction();
}
}
Теперь memberFunction
можно вызвать из контроллеров, расширяющих AppController
как правило простого наследования.