首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >匹配控制器名称并调用特定函数

匹配控制器名称并调用特定函数
EN

Stack Overflow用户
提问于 2016-02-01 22:04:19
回答 1查看 50关注 0票数 1

我创建了一个名为Router的类,它导入如下所有控制器:

代码语言:javascript
运行
复制
<?php

 include dirname(dirname(__FILE__)) . '\application\controllers\backend.php';

 class Router
 {
    private $_backend;

    public function __construct()
    {
       $this->_backend = new Backend();
    }

    /**
    * Execute function
    */

    public function submit($controller, $func)
    {
      // $this->_backend->index(); 
     } 
 }

?>

现在这个类可以在我的router.php文件中使用,这个文件包括在其他任何人之前,我可以通过引用访问任何php文件中的路由器类:

代码语言:javascript
运行
复制
$router = new Router();

我的任务是调用在导入到index文件中的backend控制器中可用的函数router.php。在index.php文件中,我有:

代码语言:javascript
运行
复制
$router->submit('backend', 'index');

如何匹配控制器名称并调用作为参数传递的函数以及Router类中的变量?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-01 23:44:36

代码语言:javascript
运行
复制
<?php
 class Router
 {
    public function submit($controller, $func)
    {
      // include dynamically the needed file
      include dirname(dirname(__FILE__)) . '\application\controllers\' . $controller . '.php';
      // The classname starts with capital
      $Class = ucfirst($controller);
      // create an instance
      $ctr = new $Class();
      // and call the requested function
      $ctr->$func();
     } 
 }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35141278

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档