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:'');
}
}
}