0

ディスパッチャ クラスから次のクラスを実行しますが、class_exists も call_user_func もクラスを実行せず、__controller は実行されません。セッションが開始されません。現時点では回避策として$i = new Admin();、クラスの減速の前に追加しているため、ページが読み込まれたときにクラスがアクティブになります。しかし、この振る舞いは私には奇妙です。

ディスパッチャ クラスからの抜粋:

        include $this->file;

        if (class_exists($this->controller, TRUE)) {

            if (!is_callable($this->controller, $this->action)) {
                header('Location: /404.php');
                exit;
            }
            call_user_func(array ($this->controller, $this->action), $this->route->values);
        }



<?php
class Admin
{

    public function __construct()
    {
        S::V()->title()->set('Admin');

        if (!isset($_SESSION))
            session_start();
        if (!isset($_SESSION['auth']))
            header('Location: /cp/login');      
    }

    public function lobby($args)
    {
        S::V()->title()->append(' Logger');
        if (isset($_REQUEST['clear'])) {
            S::L()->clear();
        }

        $data['raw'] = S::Logger()->gethtml('20');
        S::V()->addData($data);
        echo S::V()->fetch('admin.php', $data);
    }
?>
4

0 に答える 0