摘要:<?php
/**
*入口文件
*/
//加载composer自动加载器
require 'vendor/autoload.php';
//加载框架基础类
require 'pig/Base.php';
//定义项目根目录
define('ROOT_PATH', __DIR__.
<?php
/**
*入口文件
*/
//加载composer自动加载器
require 'vendor/autoload.php';
//加载框架基础类
require 'pig/Base.php';
//定义项目根目录
define('ROOT_PATH', __DIR__.'/');
//导入配置文件
$config = require 'pig/config.php';
//获取URL中的查询字符串
$queryStr = $_SERVER['REQUEST_URI'];
//启动框架(自动执行默认模块/控制器/操作)
(new \pig\Base($config, $queryStr))->run();class Base
{
protected $config = [];
protected $queryStr = '';
public function __construct($config, $queryStr='')
{
$this->config = $config;
$this->queryStr = $queryStr;
}
//设置调试状态
public function setDebug()
{
if ($this->config['app']['debug']) {
error_reporting(E_ALL);
ini_set('display_errors','On');
} else {
error_reporting(E_ALL);
ini_set('display_errors','Off');
ini_set('log_errors', 'On');
}
}
//注册自动加载器
public function loader($class)
{
$path = ROOT_PATH.str_replace('\\', '/', $class).'.php';
//如果没有指定的控制器类文件,则默认回到首页
if (!file_exists($path)) {
header('Location: /');
}
require $path;
}
//启动框架
public function run()
{
//调试模式
$this->setDebug();
//自动加载
spl_autoload_register([$this, 'loader']);
//请求分发
echo (new Route($this->config['route']))->parse($this->queryStr)->dispatch();
}
}