ディスパッチャ クラスから次のクラスを実行しますが、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);
}
?>