Nette:模型与供应商lib

时间:2016-08-19 16:39:37

标签: oop models implementation vendor nette

我的模型很少,我已经在每个沙箱项目中实施了一段时间,它让我思考。具有常量实现Vs的几个模型之间有什么区别。我自己的lib,理论上包含相同的文件。

问题#1:执行时间与执行时间有什么不同吗?几个模型对象和库中相同对象之间的页面加载?

问题2:我为什么要使用库而不是少数模型(反之亦然)?

问题3:如果这两者没有任何区别,我是否应该为了更容易的作曲家实现而创建自己的lib?或者某种类型的自定义沙箱git rep与模型是更好的选择?

2 个答案:

答案 0 :(得分:2)

  1. 它不是或可以忽略不计。你的课程必须包括在内。如果它们被composer autoload或nette RobotLoader包含在内并不重要。
  2. 如果特定功能可以帮助其他人,您可以通过创建库来帮助很多人。如果它对您的应用来说过于具体,请直接在应用中使用libs dir或其他内容,如果需要,您可以在以后更轻松地更改功能。
  3. 我会说两个。创建和维护沙箱比许多项目共享的lib容易得多。使用lib,您需要保持向后兼容性。此外,如果您有许多不相关的类,从它们创建一个库没有多大意义。 Reather创建了更多实现特定功能的库。例如,记录类将包含您的LogModel。但在开始之前,如果已经没有您需要的lib,请尝试搜索packagist。对于日志记录,Monolog可能很有用。您的日历课程​​是图书馆的理想选择。

答案 1 :(得分:1)

即使我完全不理解你的情况,我也会尽量回答:

1)不是真的,它的类自动加载,无论它位于何处

2)当你发现某些类具有共同意义时,我建议将代码移动到库中,例如,可以将代码抽象到某个目录。

  • 文件管理
  • ImageResizer
  • ACL
  • CMS
  • ...

3)如果您的代码稳定且一致(=在应用中没有变化),我会去寻找包裹。如果您必须自定义它,我会针对每个应用保持特定的。

这完全取决于您的具体课程。最好的是看到整个项目和你遇到的问题。