【发布时间】:2018-09-01 04:24:05
【问题描述】:
我正在开发一个 Laravel 5 包,其中我有一个 “会员”模型,它目前 扩展了 App\User 模型。我想知道最佳实践,让任何开发人员使用自定义“成员”模型,而不是包中的模型。例如,这是为了允许开发人员使用另一个表。
一种似乎可以在没有进行深入测试的情况下工作的方法是在我的包服务提供者的 register() 方法中创建一个别名:
$MemberModel = 'MyVendor\MyPackage\Member';
$loader = \Illuminate\Foundation\AliasLoader::getInstance();
$loader->alias('MyMember', $MemberModel);
在这种情况下,我必须:
- 将代码中的所有条目从原始类替换为别名
- 删除所有相关的php“使用”条目
- 从配置文件或数据库中获取 $MemberModel 的值
但我不知道这是解决它的好方法还是可能导致任何冲突。
对于这个目标还有其他更好的方法吗?提前致谢!
【问题讨论】: