首页 > 解决方案 > 在 laravel 中覆盖/更改供应商/主题文件的最佳实践

问题描述

我正在使用付费 laravel 主题,还使用其他一些付费 laravel 库。我对他们提供的工作流程感到满意,但根据要求,我想在这些付费库中进行更改,并且还想在主题刀片文件中进行更改/添加内容。

我知道直接对主题文件和库进行更改是否不是一个好习惯。因为,当我要更新我的库或主题时,我的更改就会消失。谁能推荐我一种覆盖这些文件的方法。此外,为了 Laravel 开发,让代码更新和覆盖其他文件的良好编程实践是什么。

谢谢

标签: phplaravelthemesoverridinglibraries

解决方案


很难回答这个问题,因为这在很大程度上取决于您使用的主题如何加载他们的视图,这将影响您的选择。

如果您开始在供应商文件夹中编辑核心文件,您的更改将在更新时被清除,这是危险的。通过从不更新来解决这个问题打开了安全问题的大门。

我建议与主题的开发人员讨论他们推荐的更改方式,假设这是可能的。

这可能包括使用标准 OOP 原则扩展类、控制器等。

可以通过扩展 laravel 文档中详述的刀片模板来实现。

或者它可以通过拥有多个视图文件夹来完成。例如,laravel 首先在您的主应用程序中检查视图模板/刀片,然后如果它不存在,它会退回到供应商文件夹。这种方法可以让您只复制您更改的文件而不是全部,但需要内置到您的控制器中。


推荐阅读