【问题标题】:How to call a method of another controller in zend?如何在zend中调用另一个控制器的方法?
【发布时间】:2016-02-05 23:36:29
【问题描述】:

我在酒店模块中有一个控制器 SearchController,我有一个在此控制器中搜索的方法,如下所示。

public function searchAction()
{

  // Code for search
  // want to call getlatlng method
}

现在我在同一模块中创建了一个新控制器 DistanceController 并且 在距离控制器中创建了一个 getlatlng 方法。我的 getlatlng 方法是这样的。

 public function getlatlng()
  {
         $location = $_REQUEST['lat'].','.$_REQUEST['lng'];
         return $location;
  }

现在我想在searchAction 方法中调用getlatlng 方法。它返回当前位置的纬度和经度。我使用 post 或 get 将纬度和对数传递给 getlatlng 函数。

那么如何在searchAction 方法中调用getlatlng 方法呢?

【问题讨论】:

标签: zend-framework


【解决方案1】:

你可以这样调用,如果你使用的是 ZF Version 1.x:

class SearchController extends Zend_Controller_Action 
{
    public function searchAction() {
        echo "search_action_from_SearchController";
        require_once ('DistanceController.php');
        $distanceCtrl = new DistanceController($this->_request, $this->_response);
        $distanceCtrl->xyzAction();
        die;
    }
}

class DistanceController extends Zend_Controller_Action 
{
    public function getlatlng() {
        echo "getlatlng_from_DistanceController";
        die;
    }
}

输出:

URL: http://www.example.com/search/search
    search_action_from_SearchController
    getlatlng_from_DistanceController

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-26
    • 1970-01-01
    相关资源
    最近更新 更多