这是我的第一个问题。 :)
我正在开发一个小PHP框架,并开始考虑在多个项目之间重用相同代码的方法。现在使用这个框架,可以为不同的项目创建多个应用程序目录并使用相同的核心 - 类似于codeigniter 2所做的。
当我需要创建一个与现有网站完全不同的网站但仍会使用其中的类时,有关代码重用的问题在工作中引发了。
我的前两个想法是要么使用某种全球性的"模型"目录放置多个项目之间共享文件的位置(并向框架添加选项以加载它们),或添加加载这些"模型的可能性"来自其他项目。
我想也许其他人有一些更好的想法,并希望了解其他开发人员对这个问题的看法。
作为一个例子,这可能是当前的目录结构:
live/ - live site
config/
controllers/
helpers/
models/
public/
views/
admin/ - administration (same structure as "live/")
system/ - framework core
答案 0 :(得分:1)
我不认为直接从另一个项目加载模型或其他类是个好主意。如果两个或多个项目共享相同的类,则它们应位于两个项目之外的某个位置。这就是codeigniter包派上用场的情况。它允许为所有库,模型等提供单独的文件夹,并且可以非常轻松地将它们加载到任何codeigniter项目中。有关更多详细信息,请查看官方文档。