这个要调用的静态函数我缺少什么?

时间:2012-12-15 14:46:07

标签: php

我有一个班级......

class bootstrap {

    public static function redirect($ctrl = false, $act = false, $a = false)
    {
        echo 'Entered redirect ...';

        $url = array('home');
        if (!empty($_GET['url'])) {
            $url = rtrim($_GET['url'], '/');
            $url = explode('/', $url);

            print_r($url);
        }

        $controllerName = 'home';
        if (!$ctrl) {
            if (isset($url[0])) {
                $controllerName = $url[0];
            }
        }
        else {
            $controllerName = $ctrl;
        }

        echo '<br/>Controller: $controllerName';

        $file = './controllers/' . $controllerName . '.php';
        if (file_exists($file)) {
            require_once $file;
        }
        else {
            return false;
        }
        $controller = new $controllerName;

        $action = 'Index';
        if (!$act) {
            if (isset($url[1])) {
                $action = $url[1];
            }
        }
        else {
            $action = $act;
        }

        echo '<br/>Action: $action';

        $arg = false;
        if (!$a) {
            if (isset($url[2])) {
                $arg = $url[2];
            }
        }
        else {
            $arg = $a;
        }

        if (!$arg) {
            $controller->{$action}();
        }
        else {
            $controller->{$action}($arg);
        }
    }

}

index.php我试图像这样调用redirect函数......

include './core/init.php';

echo 'Calling redirect ...';
bootstrap::redirect();

现在,我在页面上显示echo 'Calling redirect ...';,但我从未收到echo 'Entered redirect ...';所以它似乎永远不会进入function

希望有人可以帮助我...根据我在手册中读到的内容我认为我的课程设置正确。

1 个答案:

答案 0 :(得分:1)

您的类引导程序必须在init.php中定义

Greatings:)