Plugins 在10月份重构一个部分
你好 我有几个有代码的部分。在“代码”选项卡中,我注意到“代码”选项卡具有相似的代码外观。这里有一些例子 第1部分Plugins 在10月份重构一个部分,plugins,refactoring,octobercms,Plugins,Refactoring,Octobercms,你好 我有几个有代码的部分。在“代码”选项卡中,我注意到“代码”选项卡具有相似的代码外观。这里有一些例子 第1部分 function onStart() { $x = MyModel1::where('myColumn', 'myValue')->first(); // lots of stuff using $x functions $this['viewData'] = $x->getViewData(); } 第2部分 function onStart
function onStart()
{
$x = MyModel1::where('myColumn', 'myValue')->first();
// lots of stuff using $x functions
$this['viewData'] = $x->getViewData();
}
第2部分
function onStart()
{
$x = MyModel2::where('myColumn', 'myValue')->first();
// lots of stuff using $x functions
$this['viewData'] = $x->getViewData();
}
MyModel1和MyModel2都实现了相同的接口,因此它们具有相同的功能
我的问题是,我应该把类似的代码放在哪里?我可以把它放在一个插件中,但感觉不正确。我可以创建一个基类,让partials调用parent方法,但这不意味着修改vendor文件夹中的代码吗?如果您真的需要管理代码,您可以创建组件并将代码添加到那里,因为它们很容易附加到其他页面(缺点是您需要创建一个插件) 您可以在
onRun
方法中编写代码
而不是直接将变量分配给这个
,你需要像这样分配它们
$this->page['var'] = 'value';
现在它的工作原理与您的相同。我只觉得它“不对”,因为它使我的插件依赖于另一个插件。这感觉就像是进入依赖地狱的第一步。为什么你需要其他插件?你可以将该插件专用于此内容,而不要将该插件用于其他内容,因为几乎所有主题都依赖于商店、博客、静态页面等中的一些插件(依赖意味着我们正在重用代码),如果我们处理得当,你就不用担心了。