Можно ли вызвать функцию-член другого контроллера в Zend Framework, если да, то как?
<?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
как правило простого наследования.