TP5中函数文件必须全小写加下划线命名、以.php为后缀,函数名也须小写加下划线;需显式引入或配置autoload,否则不生效。

TP5 中函数文件必须用小写字母 + 下划线命名,且以 .php 为后缀,不能用驼峰、不能带大写、不能省略后缀。
函数文件名必须是小写+下划线
TP5 明确要求非类库的函数文件(比如公共函数、助手函数)采用全小写 + 下划线方式命名。这是硬性规范,和类文件的驼峰命名严格区分开。
- ✅ 正确:
helper.php、array_helper.php、string_utils.php - ❌ 错误:
Helper.php(首字母大写)、arrayHelper.php(驼峰)、utils.php~(非.php后缀) - ⚠️ 注意:即使文件只定义一个函数(如
get_client_ip()),文件名也不能叫get_client_ip.php—— 虽然语法上合法,但违反“按功能归类”的惯例;应放入更通用的network_helper.php或ip_helper.php
函数文件必须以 .php 结尾
TP5 的自动加载和框架识别逻辑依赖 .php 后缀。若写成 .inc、.func 或无后缀,Loader::addNamespace() 或 think\Loader::import() 均无法正确载入,运行时会报 Class not found 或直接跳过加载。
- 必须显式包含后缀:调用
import('common/function')时,实际加载的是common/function.php - 不支持隐式后缀推断(不像某些老版本 TP3 允许
import('xxx')自动补.class.php) - 如果你用
require手动引入,也请始终写全路径 +.php,避免因环境差异导致大小写敏感问题(尤其 Linux 服务器)
函数名本身用小写+下划线,和文件名风格一致
函数命名和其所在文件的命名风格统一,都是小写+下划线,便于快速定位。TP5 内置的助手函数(如 dump()、input()、get_client_ip())全部遵循该规则。
- ✅ 推荐:
format_bytes($size)放在file_helper.php中 - ❌ 混乱:
formatBytes($size)放在file_helper.php—— 方法名风格错位,破坏一致性 - ⚠️ 注意:
_开头的函数(如_check_token())不是私有函数,PHP 层面无访问控制;它只是约定表示“内部辅助”,不应被外部直接调用,但框架不会阻止
最容易被忽略的是:函数文件不能放在 app/ 下任意子目录就自动生效——它需要被显式引入(import() 或 require),或注册到 extra.autoload.files(composer.json)。否则哪怕命名完全合规,也不会被加载。

















