Model view controller 如何在Zend框架中从索引控制器调用自定义控制器

Model view controller 如何在Zend框架中从索引控制器调用自定义控制器,model-view-controller,zend-framework,Model View Controller,Zend Framework,我是Zend框架的新手。我在netbeans中做了一个示例项目。它可以正常工作,显示index.phtml。但是,我需要调用我的控制器。我尝试了以下内容 IndexController.php <?php class IndexController extends Zend_Controller_Action { public function init() { } public function indexAction() {

我是Zend框架的新手。我在netbeans中做了一个示例项目。它可以正常工作,显示index.phtml。但是,我需要调用我的控制器。我尝试了以下内容

IndexController.php


<?php

class IndexController extends Zend_Controller_Action
{

    public function init()
    {

    }

    public function indexAction()
    {
        firstExample::indexAction();
    }    

}
我想在点击上面的URL后,首先执行到公用文件夹中的index.php。我没有更改index.php的内容。php

您错误地使用了控制器(MVC),控制器不应该执行任何业务逻辑,在您的情况下是sum方法。控制器只负责控制请求并将模型和视图粘合在一起。这就是为什么你现在打电话有问题

创建模型add方法sum,并在所需的任何控制器中使用。您可以从控制器将模型传递到视图

下面是一个示例:它使用数据库,但不必与数据库一起使用

基本上,您的sum示例可以如下所示:

class Application_Sum_Model {

 public function sum($x, $y) {
   return ($x + $y);
 }
}

class IndexContoler extends Zend_Controller_Action {

   public function someAction() {

    $model = new Application_Sum_Model(); 

    //passing data to view that's okay
    $this->view->y   = $y;
    $this->view->x   = $x;
    $this->view->sum = $model->sum($x, $y); //business logic on mode

   }
}

请阅读控制器的工作原理,

我需要更改默认的Bootstrap.php文件吗?不需要,只需将类添加到models目录,它就会自动加载。然后在所需的控制器操作上创建新对象。这和我在创建模型后面临的问题相同。firstExampleModel.php和在controller中,我确实创建了上述类的对象,而不是调用sum方法。我不知道,indexController类如何解决必须调用哪个控制器的问题。我在上述indexController类中所做的更改是否正确?您可以使用您想要的任何控制器,我只给出了一个示例。所以你有了基本的想法。
http://localhost/zendWithNetbeans/public/
class Application_Sum_Model {

 public function sum($x, $y) {
   return ($x + $y);
 }
}

class IndexContoler extends Zend_Controller_Action {

   public function someAction() {

    $model = new Application_Sum_Model(); 

    //passing data to view that's okay
    $this->view->y   = $y;
    $this->view->x   = $x;
    $this->view->sum = $model->sum($x, $y); //business logic on mode

   }
}