Phalcon - 从其他控制器调用功能

时间:2014-12-28 21:29:34

标签: php controller phalcon

如何从Phalcon PHP框架中的另一个控制器调用函数。以下是CakePHP http://sherwinrobles.blogspot.com/2013/02/cakephp-calling-function-from-other.html

的示例

2 个答案:

答案 0 :(得分:5)

根据您提供的链接,据我所知,没有直接的方法使用请求对象在另一个控制器中调用函数。然而,实例化控制器并调用该函数将在CakePHP中正常工作

$newController = new \MyNS\Controllers\NewController();
$newController->myFunc();

如果您需要,可以在控制器内使用静态功能并调用它

\MyNS\Controllers\NewController::myFunc();

答案 1 :(得分:0)

这已经过测试

对于不使用CakePHP的人 另一种执行此操作的方法是创建一个辅助文件夹并编写操作(在这种情况下为方法)。

public / index.php

添加路径助手

$loader->registerDirs(
    [
        APP_PATH . '/helper/'
    ]
);

在应用中添加帮助订单

└── apps
    ├── controllers
       └─ exampleController.php  
    ├── models
    └── helpers
       └─ myHelper.php
    ...

在myHelper.php

 <?php

    use Phalcon\Di\Injectable;

    class myHelper extends Injectable
        {
          function myNameFunction() {   
          // here you should write your function

        }
    }

在exampleController中要调用其他动作的地方,在这种情况下为函数

<?php

use Phalcon\Mvc\Controller;

class exampleController extends Controller {
  public function yourAction() {
    //your code   
    //there are 2 ways of calling the function. either use this one
    $myHelper = new myHelper();
    $myHelper->myNameFunction();

    //or this one
    (new UnmatchHelper())->myNameFunction();
  }
}