Files
think-plugs-recorder/test_functions.php
2025-08-13 10:39:09 +08:00

94 lines
2.8 KiB
PHP

<?php
/**
* 测试模板函数是否正确注册
*/
// 引入Composer自动加载
if (file_exists(__DIR__ . '/../../vendor/autoload.php')) {
require_once __DIR__ . '/../../vendor/autoload.php';
} elseif (file_exists(__DIR__ . '/../../../../vendor/autoload.php')) {
require_once __DIR__ . '/../../../../vendor/autoload.php';
}
echo "=== 测试模板函数注册 ===\n\n";
// 测试函数是否存在
$functions = [
'recorder_get_records',
'recorder_render_list',
'recorder_render_timeline',
'recorder_render_item',
'recorder_get_stats'
];
echo "检查函数注册状态:\n";
echo "-------------------\n";
foreach ($functions as $function) {
if (function_exists($function)) {
echo "{$function} - 已注册\n";
} else {
echo "{$function} - 未注册\n";
}
}
echo "\n";
// 如果函数未注册,尝试手动加载
if (!function_exists('recorder_get_records')) {
echo "尝试手动加载函数文件...\n";
require_once __DIR__ . '/src/functions.php';
echo "\n重新检查函数注册状态:\n";
echo "---------------------\n";
foreach ($functions as $function) {
if (function_exists($function)) {
echo "{$function} - 已注册\n";
} else {
echo "{$function} - 未注册\n";
}
}
echo "\n";
}
// 测试函数调用(如果已注册)
if (function_exists('recorder_get_records')) {
echo "测试函数调用:\n";
echo "-------------\n";
try {
// 测试获取记录(可能会失败,因为没有数据库连接)
$records = recorder_get_records(['limit' => 1]);
echo "✅ recorder_get_records() 调用成功\n";
} catch (Exception $e) {
echo "⚠️ recorder_get_records() 调用失败: " . $e->getMessage() . "\n";
}
try {
// 测试渲染空列表
$html = recorder_render_list([], ['limit' => 0]);
if (!empty($html)) {
echo "✅ recorder_render_list() 调用成功,HTML长度: " . strlen($html) . "\n";
} else {
echo "⚠️ recorder_render_list() 返回空内容\n";
}
} catch (Exception $e) {
echo "⚠️ recorder_render_list() 调用失败: " . $e->getMessage() . "\n";
}
} else {
echo "❌ 函数未正确注册,无法进行调用测试\n";
}
echo "\n=== 解决方案 ===\n";
echo "如果函数未注册,请按以下步骤操作:\n\n";
echo "1. 更新Composer自动加载:\n";
echo " composer dump-autoload\n\n";
echo "2. 在模板中使用前手动引入:\n";
echo " {:include_once(app_path('plugs/think-plugs-recorder/src/functions.php'))}\n\n";
echo "3. 或在应用启动文件中引入:\n";
echo " // app/provider.php 或 common.php\n";
echo " require_once app_path('plugs/think-plugs-recorder/src/functions.php');\n\n";
echo "=== 测试完成 ===\n";
?>