我们知道,ThinkPHP是一个单入口文件,其文件在public目录下的index文件中,也就是说所有的http请求全部通过这个index文件接收并由这个问价转发的功能代码中。在ThinkPHP中我们开发者已经帮我们完成了安全检测等操作。
// 定义应用目录
define('APP_PATH', __DIR__ . '/../app/');
//定义配置文件目录
define('CONF_PATH',__DIR__ . '/../conf/');
// 加载框架引导文件
require __DIR__ . '/../thinkphp/start.php';
定义入口文件也是十分简单的,我们只需要将public/index.php添加一条定义即可
// 定义应用目录
define('APP_PATH', __DIR__ . '/../app/');
//定义配置文件目录
define('CONF_PATH',__DIR__ . '/../conf/');
//定义入口文件
define('BIND_MODULE','admin');
// 加载框架引导文件
require __DIR__ . '/../thinkphp/start.php';
开启了入口文件自动绑定的操作,我们可以指定相应的用户访问的相应的文件方法中的第二参数admin代表用户要相应访问的模块位置,没有相应的模块则可以访问其他模块。
我们有时候需要在程序中输入一些参数但是在我们的项目当中其路径可以说是相当的深,我们这时候就会用到另一个概念-路由。路由可以让我们在程序设计中相当便捷的输入参数和输入路径,直接看例子:
首先,我们在/index/index中新建一个方法:
//新建的方法
public function info($id)
{
//localhost/index/index/info/id/5
//localhost/index/news/5
return "{$id}";
}
public function demo()
{
return "demo";
}
然后我们在conf目录下新建route.php文件,并在配置文件中进行配置
<?php
return [
'posts/:id' => 'index/index/info',
'index/index/demo' => 'index/index/demo',
];
然后我们在config配置文件下添加如下信息
<?php
return [
'app_status' => 'home',
'app_email' => '2676466510@qq.com',
'app_author' => 'Kexin29',
//路由是否开启
'url_route_on' => true,
//强制使用路由
'url_route_must' => true,
];
同样我们可以在index模块的这个方法中我们配置我们的参数等信息。当我们开启强制路由选项后,我们所有的路径都要通过路由访问。当然我们在开发的情况下我们通常将强制路由选项关闭,这样可以方便我们调试。
感谢收看,如果有帮助,可以赞助一下,在此表示感谢。