<?php
namespace core;
class App{
public static function start(){
self::set_path();
self::set_url();
self::set_autoload();
self::set_dispatch();
}
private static function set_path(){
define('CORE_PATH', ROOT_PATH . 'core/');
define('DATA_PATH', ROOT_PATH . 'data/');
define('DATA_CONT', DATA_PATH . 'controller/');
define('DATA_MODEL', DATA_PATH . 'model/');
define('URL','http://www.gztest.com/');
}
private static function set_url(){
$p = $_REQUEST['p'] ?? 'home';
$c = $_REQUEST['c'] ?? 'Index';
$a = $_REQUEST['a'] ?? 'index';
define('P',$p);
define('C',$c);
define('A',$a);
}
private static function set_autoload_function($class){
$class = basename($class);
$core_file = CORE_PATH . $class . '.php';
if(file_exists($core_file)) include $core_file;
$cont_file = DATA_PATH . P . '/controller/' . $class . '.php';
if(file_exists($cont_file)) include $cont_file;
$model_file = DATA_PATH . P . '/model/' . $class . '.php';
if(file_exists($model_file)) include $model_file;
}
private static function set_autoload(){
spl_autoload_register(array(__CLASS__,'set_autoload_function'));
}
private static function set_dispatch(){
$p = P;
$c = C;
$a = A;
$controller = "\\{$p}\\controller\\{$c}Controller";
$c = new $controller();
$c->$a();
}
}
本地
linux