账户中心 退出系统
开发文档 资讯·分享 技术交流 会员登录
phpGrace GSCMS 公众号系统
调用控制器

调用其他控制器

我们推荐将复用功能模型化,所以并不希望开发者直接调用控制器,如果您的需求确定要这样做,您可以通过下面的方法来调用控制其他控制器 :

加载文件后使用 new 关键字实例化控制器

<?php
namespace grace\controller;
use grace\grace;

class index extends grace{

    public function index(){
        // 调用 new 控制器
        // 因为 new.php 与 index 控制器文件 index.php 在同一个目录;
        include 'news.php';
        // 注意命名空间使用 \ 开始
        $newsController = new \grace\controller\news();
        // 因为2个控制器命名空间相同,所以也可以 :
        // $newsController = new news();
        $newsController->index();
    }

}

相关说明

控制器之间调用时不会自动调用被调用控制器对应的视图,如果需要,请使用 $this->__display('视图路径') 方式调用;

<?php
namespace grace\controller;
use grace\grace;

class index extends grace{

    public function index(){
        // 调用 new 控制器
        include 'news.php';
        $newsController = new news();
        $newsController->index();
        $this->__display('news/index.php');
    }

}