ThinkPHP5——8 TP5框架配置目录的种类与设置技巧:默认/自定义/扩展配置

一、默认配置目录

默认配置文件与TP5框架的惯例配置文件内容大致相同,惯例配置文件在thinkphp下的convention.php

二、自定义配置目录

首先我们需要打印一下我们的默认配置,也就是默认配置目录application下的config.php文件配置
如图修改,新增函数hello

启动PHPWAMP工具,在浏览器中输入http://tp5.com:8088/Index.php/index/index/hello

现在我们用自定义的配置修改 ["app_debug"] => bool(false)  为true

第一步:修改入口文件/public/index.php,新增配置目录config,与application同级

第二步:创建配置目录config,并在目录下,创建config.php文件,在config.php中输入

<?php
return [
  'app_debug' => true,
  'asite_name' => 'PHP中文网欢迎你'
];
?>

修改app_debug 为true,新增配置 asite_name 
在浏览器中输入http://tp5.com:8088/Index.php/index/index/hello

创建application中index模块对应的配置文件,在config目录下新建index目录,并在目录下创建config.php,则该文件与index模块绑定。

此时访问index模块下的hello方法,获取的app_debug值,为“自定义"

三、扩展配置目录

在config下创建extra目录,新建my_base.php文件,输入如下值:

my_base就是新增配置项的名,my_base.php的内容就是配置my_base的值

 

### URL访问机制 ThinkPHP 的 URL 访问机制遵循 MVC 设计模式,采用模块化的方式处理请求。当客户端发起 HTTP 请求时,服务器会将该请求映射到具体的控制器方法上。默认情况下,URL 结构通常表现为 `http://域名/模块/控制器/操作`[^1]。这种结构使得开发者可以清晰地定义资源路径并实现 RESTful 风格接口。 此外,在 ThinkPHP6 中引入了更强大的路由功能,允许自定义复杂的匹配规则和参数绑定逻辑。例如,可以通过正则表达式或者闭包函数来动态调整目标地址[^2]: ```php use think\facade\Route; Route::get('news/:id', 'Index/news'); ``` 上述代码片段展示了如何设置一条简单的 GET 类型路由规则,其中 ":id" 表示可变部分会被传递给对应的 controller action 参数列表中的变量名 id。 ### 中间件的作用 中间件是在请求到达最终处理器之前执行的一系列钩子程序集合。它们能够拦截、修改甚至终止当前流程,并且还可能影响响应数据的内容形式或状态码返回值等属性。在 ThinkPHP6 当中,每一个应用层面上都可以注册全局性的或者是局部范围内的中间件实例。 以下是创建一个基础身份验证中间件的例子: ```php namespace app\middleware; class AuthMiddleware { public function handle($request, \Closure $next){ if (!$this->checkUserLoginStatus()) { return json(['error' => 'Unauthorized'], 401); } return $next($request); } private function checkUserLoginStatus(){ // 实现具体校验业务... } } ``` 此段脚本说明了一个典型的场景——即只有已登录用户才可以继续浏览受保护区域下的网页内容;如果未满足条件,则立即中断后续动作链路并向前端反馈错误提示信息。 ### View页面的展示方式 对于视图(View)渲染方面,ThinkPHP 支持多种模板引擎,默认内置有原生 PHP 和 Smarty 两种方案可供选择。通过配置文件指定所偏好的样式之后即可开始编写 HTML 文件夹内部署相应扩展名为 .html 或者其他约定俗成的形式作为输出载体。 下面是一个简单例子演示怎样加载外部 CSS 资源以及嵌套循环显示商品列表项: ```smarty {block name="head"} <link rel="stylesheet" href="/static/css/style.css"> {/block} <ul> {foreach from=$products item=product} <li>{$product.name} - {$product.price}</li> {/foreach} </ul> ``` 这里利用了 Smarty 特有的语法糖封装标签代替传统 PHP echo 输出语句从而提高可读性和维护便利程度的同时也增强了跨团队协作效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值