ThinkAdmin/tests/path-functions-test.php
Anyon e7a8c05556 chore(repo): 统一 v8 仓库品牌名称
将 v8 重构分支中残留的 ThinkAdminDeveloper 文本统一调整为 ThinkAdmin,避免迁移到主仓库后继续暴露旧开发仓库名称。

主要内容:

- 更新 README 标题与项目描述。

- 统一 PHP 文件头注释中的项目标识。

- 同步调整测试、配置、插件与文档中的旧仓库名称文本。

- 保持旧包删除说明与架构边界测试语义不变,只清理品牌名称残留。
2026-05-08 16:15:24 +08:00

85 lines
3.2 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
declare(strict_types=1);
/**
* +----------------------------------------------------------------------
* | ThinkAdmin Plugin
* +----------------------------------------------------------------------
* | Copyright (c) 2014~2026 ThinkAdmin [ thinkadmin.top ]
* +----------------------------------------------------------------------
* | Official Website: https://thinkadmin.top
* +----------------------------------------------------------------------
* | Licensed: https://mit-license.org
* | Disclaimer: https://thinkadmin.top/disclaimer
* | Vip Rights: https://thinkadmin.top/vip-introduce
* +----------------------------------------------------------------------
* | Gitee Repository: https://gitee.com/zoujingli/ThinkAdmin
* | Github Repository: https://github.com/zoujingli/ThinkAdmin
* +----------------------------------------------------------------------
*/
// 加载基础文件
require __DIR__ . '/vendor/autoload.php';
use think\admin\Library;
use think\App;
// 初始化应用
$app = new App(__DIR__);
Library::$sapp = $app;
echo "========================================\n";
echo "路径函数测试\n";
echo "========================================\n\n";
// 测试环境判断
echo "【环境判断测试】\n";
echo 'is_phar(): ' . (is_phar() ? 'true' : 'false') . "\n";
echo 'Phar::running(): ' . (Phar::running() ?: 'empty') . "\n";
echo 'Phar::running(false): ' . (Phar::running(false) ?: 'empty') . "\n\n";
// 测试 syspath
echo "【syspath 测试 - 系统路径(代码/资源)】\n";
echo 'syspath(): ' . syspath() . "\n";
echo "syspath('app'): " . syspath('app') . "\n";
echo "syspath('config'): " . syspath('config') . "\n";
echo "syspath('vendor'): " . syspath('vendor') . "\n";
echo "syspath('runtime'): " . syspath('runtime') . "\n";
echo "syspath('public'): " . syspath('public') . "\n";
echo "syspath('.env'): " . syspath('.env') . "\n\n";
// 测试 runpath
echo "【runpath 测试 - 运行路径(可写数据)】\n";
echo 'runpath(): ' . runpath() . "\n";
echo "runpath('runtime'): " . runpath('runtime') . "\n";
echo "runpath('public'): " . runpath('public') . "\n";
echo "runpath('.env'): " . runpath('.env') . "\n";
echo "runpath('database'): " . runpath('database') . "\n";
echo "runpath('safefile'): " . runpath('safefile') . "\n\n";
// 路径对比分析
echo "【路径对比分析】\n";
$paths = ['app', 'config', 'vendor', 'runtime', 'public', '.env', 'database'];
echo "提示在普通环境下syspath 和 runpath 返回相同路径\n";
echo " 在 PHAR 环境下syspath 返回 phar:// 路径runpath 返回外部路径\n\n";
foreach ($paths as $path) {
$sys = syspath($path);
$run = runpath($path);
$same = $sys === $run ? '相同' : '不同';
$sysProto = str_starts_with($sys, 'phar://') ? 'phar' : 'file';
$runProto = str_starts_with($run, 'phar://') ? 'phar' : 'file';
echo sprintf(
"%-12s | syspath(%-4s): %-55s [%s] | runpath: %-60s [%s] | %s\n",
$path,
$path,
basename($sys),
$sysProto,
basename($run),
$runProto,
$same
);
}
echo "\n========================================\n";
echo "测试完成\n";
echo "========================================\n";