插件发布前的终极Checklist:这8项配置不检查会出大事
刚写完核心功能就急着上线?先对照这份清单检查这些易错点:
1. 路由白名单 // routes/web.php Route::group(['middleware' => ['auth']], function () { Route::get('plugin/admin', 'AdminController@index'); // 漏加这行会导致403 });
2. 菜单可见性 检查config/menu.php里每个item的'permission'是否对应到正确的权限标识,特别是嵌套子菜单。
3. 权限颗粒度 常见错误:只有CRUD大权限,缺少细分操作权限。用这个命令快速生成: php artisan make:permission export_data --model=Report
4. 配置项默认值 在config/plugin.php里必须设置全量默认值,避免安装后报错: 'cache_ttl' => env('PLUGIN_CACHE_TTL', 300),
5. 数据库字符集 迁移文件顶部要明确定义: Schema::create('plugin_table', function (Blueprint $table) { $table->charset = 'utf8mb4'; // 重要! });
6. 钩子卸载处理 uninstall()方法里必须清理: remove_filter('the_content', [$this, 'filterContent']); delete_option('plugin_runtime_data');
7. 多语言支持 检查语言包键名是否全匹配: // resources/lang/en/plugin.php 'greeting' => 'Hello', // 模板里要用__('plugin::greeting')
8. 版本兼容声明 主插件文件头部要注明: /* * Requires at least: 5.6 * Tested up to: 6.2 */
建议新建checklist.md文件把这些检查项固化下来,每次发布前git diff重点核对标红部分。你还有哪些必检项?欢迎补充实战踩坑经验。

