多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
## **入口文件定义** 入口文件主要完成: * 定义框架路径、项目路径(可选) * 定义系统相关常量(可选) * 载入框架入口文件(必须) 5.0默认的应用入口文件位于`public/index.php`,内容如下: ~~~ // 定义应用目录 define('APP_PATH', __DIR__ . '/../application/'); // 加载框架引导文件 require __DIR__ . '/../thinkphp/start.php'; ~~~ 有些情况下,你可能需要加载框架的基础引导文件`base.php`,该引导文件和`start.php`的区别是不会主动执行应用,而是需要自己进行应用执行,下面是一个例子: ~~~ // 定义应用目录 define('APP_PATH', __DIR__ . '/../application/'); // 加载框架基础引导文件 require __DIR__ . '/../thinkphp/base.php'; // 添加额外的代码 // ... // 执行应用 \think\App::run()->send(); ~~~ ## **入口文件绑定** 如果我们需要给某个入口文件绑定模块,可以使用下面两种方式: ### 常量定义 只需要入口文件添加`BIND_MODULE`常量,即可把当前入口文件绑定到指定的模块或者控制器,例如: ~~~ // 定义应用目录 define('APP_PATH', __DIR__ . '/../application/'); // 绑定到index模块 define('BIND_MODULE','index');//define('BIND_MODULE','chat/User');//绑定到chat默认User控制器 // 加载框架引导文件 require __DIR__ . '/../thinkphp/start.php'; ~~~ ``` Exception trace: () at D:\PRO\phpstudy_pro\WWW\www.chat.com\application\chat\controller\User.php:9 app\chat\controller\User->__construct() at n/a:n/a ReflectionClass->newInstanceArgs() at D:\PRO\phpstudy_pro\WWW\www.chat.com\thinkphp\library\think\App.php:359 think\App::invokeClass() at D:\PRO\phpstudy_pro\WWW\www.chat.com\thinkphp\library\think\Loader.php:479 think\Loader::controller() at D:\PRO\phpstudy_pro\WWW\www.chat.com\thinkphp\library\think\App.php:580 think\App::module() at D:\PRO\phpstudy_pro\WWW\www.chat.com\thinkphp\library\think\App.php:456 think\App::exec() at D:\PRO\phpstudy_pro\WWW\www.chat.com\thinkphp\library\think\App.php:139 think\App::run() at D:\PRO\phpstudy_pro\WWW\www.chat.com\thinkphp\start.php:19 require() at D:\PRO\phpstudy_pro\WWW\www.chat.com\start_register.php:5 ```