app/ctrl/indexCtrl.php

<?php
namespace app\ctrl;

use app\model\admin_userMoel;

class indexCtrl extends \core\xxt
{
    public function index()
    {
        $model = new admin_userMoel();
        $id = isset($_GET['id'])?$_GET['id']:'1';
        $ret = $model->getOne($id);
        $this->assign('admin_user', $ret);//输出变量
        $this->display('index.html');//展示模板</span>
//        dump($ret);
    }
}

core/xxt.php

<?php

namespace core;

use \core\lib\log;
use \core\lib\route;

class xxt
{

    public static $classMap = array();
    public $assign;

    static public function run()
    {
        log::init();
        $route = new route();
        $ctrlClass = $route->ctrl;
        $action = $route->action;
        $ctrlfile = APP.'/ctrl/'.$ctrlClass.'Ctrl.php';
        $ctrlClass = '\\'.MODULE.'\ctrl\\'.$ctrlClass.'Ctrl';
        if(is_file($ctrlfile)) {
            include $ctrlfile;
            $ctrl = new $ctrlClass();
            if(method_exists ($ctrl, $action)) {
                $ctrl->$action();
                log::log('ctrl:'.$ctrlClass.'    '.'action:'.$action);
            }else{
                throw new \Exception('找不到方法'.$action);
            }

        }else{
            throw new \Exception('找不到控制器'.$ctrlClass);
        }
    }

    static public function load($class)
    {
        //自动加载类库
        //new \core\route();
        //$class = '\core\route';
        //XXT.'/core/route.php';
        if(isset($classMap[$class])) {
            return true;
        }else{
            $class = str_replace('\\','/',$class);
            $file = XXT.'/'.$class.'.php';
            if(is_file($file)) {
                include $file;
                self::$classMap[$class] = $class;
            }else{
                return false;
            }
        }

    }

    public function assign($name,$value)
    {
        $this->assign[$name] = $value;
    }

    public function display($file)
    {
        $file = APP.'/views/'.$file;
        if(is_file($file)) {
//            extract($this->assign);
//            include $file;

            $loader = new \Twig_Loader_Filesystem(APP . '/views');
            $twig = new \Twig_Environment($loader, array(
                'cache' => XXT . '/log',
            ));
            echo $twig->render('index.html', $this->assign?$this->assign:'');

        }
    }
}
Scroll to Top