Model view controller 如何从CakePHP3中的ctp文件访问控制器操作

Model view controller 如何从CakePHP3中的ctp文件访问控制器操作,model-view-controller,action,cakephp-3.x,ctp,Model View Controller,Action,Cakephp 3.x,Ctp,我想从ctp文件访问控制器操作。这里我的操作名和ctp文件名不同。例如,我以ticket的名称创建了一个操作,而我的view ctp文件名是ticket\u title。如何做到这一点 这是我的行动:票 class UsersController extends AppController { public function ticket() { $ticket=$this->Tickets->find('all'); $this->set(compact('ticket'

我想从ctp文件访问控制器操作。这里我的操作名和ctp文件名不同。例如,我以ticket的名称创建了一个操作,而我的view ctp文件名是ticket\u title。如何做到这一点

这是我的行动:票

class UsersController extends AppController
{
public function ticket()
{
 $ticket=$this->Tickets->find('all');
 $this->set(compact('ticket'));
}
}
我的视图ctp文件:ticket\u title.ctp

<?php
$this->requestAction(array('controller' => 'users', 'action' => 'ticket'));

foreach($ticket as $ticket1)
{
    echo $ticket1->title."<br/>";
}

最后,它使用render()方法工作。
在我的行动中:

public function ticket()
{
$this->loadModel('Tickets');
$ticket=$this->Tickets->find('all');
$this->set(compact('ticket'));
$this->render('ticket_title');
}
这是我的票

<?php
foreach($ticket as $ticket1)
{
    echo $ticket1->title."<br/>";
}

您可以在任何其他控制器或需要的ctp文件中使用此对象

(如果是控制器)

use App\Controller\ControllerName;

$ControllerNameObj = new ControllerName;

$ControllerNameObj->functionName();
use App\Controller\ControllerName;

$ControllerNameObj = new ControllerName;

$ControllerNameObj->functionName();
(如果是ctp文件)


是的,它在Cake PHP 3的CTP中工作。如果需要,您可以在任何其他控制器或ctp文件中使用此对象

(如果是控制器)

(如果是ctp文件)

可能重复:
use App\Controller\ControllerName;

$ControllerNameObj = new ControllerName;

$ControllerNameObj->functionName();
$abcObj = new \App\Controller\HomeController;

$fetchdetail = $abcObj->ControllerfunctionName($parameter1, $parameter2);