如何使用nwidart/laravel-modules包重命名Laravel模块?
重命名nwidart/laravel-modules模块(Company → Facility)
- 先停掉本地开发服务,避免文件被占用无法修改
- 重命名模块目录:将项目根目录下的
Modules/Company文件夹直接改名为Modules/Facility - 全局替换命名空间:用IDE的「全局替换」功能,把所有
.php文件里的namespace Modules\Company;替换成namespace Modules\Facility;,同时检查所有类引用(比如控制器、模型、服务提供者里的use语句),确保没有遗漏 - 修改模块配置文件:打开
Modules/Facility/config/config.php,把'name' => 'Company'改成'name' => 'Facility',顺便检查配置里的路由前缀、视图路径等字段,有提到Company的一并替换 - 更新模块内的composer.json:编辑
Modules/Facility/composer.json,把name字段改成nwidart/facility,再把autoload.psr-4里的"Modules\\Company\\": ""替换为"Modules\\Facility\\": "" - 根目录composer.json更新:找到根目录
composer.json的autoload.psr-4段,把"Modules\\Company\\": "Modules/Company/"改成"Modules\\Facility\\": "Modules/Facility/",然后执行命令composer dump-autoload刷新自动加载映射 - 调整路由文件:检查
Modules/Facility/routes/下的web.php、api.php,把路由定义里的命名空间从Modules\Company改成Modules\Facility,如果路由前缀用了company,按需改成facility - 替换视图引用:项目中所有用到
view('company::xxx')的地方,全局替换成view('facility::xxx') - 迁移与模型处理(可选):如果模块迁移文件的表名是
companies,可以创建新迁移来重命名表(不要直接修改旧迁移);模型里的$table属性对应调整,确保和新表名一致 - 清除缓存:依次执行以下命令清缓存
php artisan cache:clear php artisan config:clear php artisan route:clear php artisan view:clear - 启动服务测试:重启本地服务,逐一测试模块的路由、页面、业务逻辑,确保没有报错
内容的提问来源于stack exchange,提问作者Eyad Bereh
相关产品推荐
相关产品推荐

