代码之家  ›  专栏  ›  技术社区  ›  gautamlakum

从ctp文件调用控制器操作

  •  1
  • gautamlakum  · 技术社区  · 15 年前

    我想从cakephp中的.ctp文件调用控制器文件的操作。有可能吗?是的,比怎么做?请帮忙。例如。 用户控制器.php

    <?php
    class UsersController extends AppController {
    
        function get_category() {
            ....
        }
    
    }
    ?>
    

    我想从/question/index.ctp文件调用它。

    3 回复  |  直到 11 年前
        1
  •  2
  •   pawelmysior    15 年前

    正确的方法是:

    $this->requestAction(array('controller' => 'users', 'action' => 'get_category'));
    

    创建url the CakePHP way

    它应该只在元素中使用(特别是在缓存中),如果情况不同的话-请看 Travis Leleu 在他的评论中写道。

        2
  •  2
  •   jmking    15 年前

    应该注意的是,您不应该将requestAction作为一种常见的实践。请求动作是一个极其繁琐的调用,如果不能以任何其他方式组织代码,则只能使用它。

    理想情况下,您将需要的数据从控制器操作发送到视图,而不是调用回控制器。

    function my_action() {
       ...
       $this->set('category', $this->getCategory());
    }
    
        3
  •  1
  •   mentes    15 年前

    您可以将其称为$this->requestAction('controller'=>'users','action'=>'get_category')

    推荐文章