因此,这是我目前正在处理的Web应用程序上的目录结构的快速摘录:
/app
/libraries
User_Input.php
Database.php
InvoiceHandler.php
你认为InvoiceHandler
在这个系列中有点奇怪吗?我确定。
直到最近,我忽略了区分实际上是我的应用程序和其他服务(例如持久存储)之间的中间层的事实库以及我自己编写的包含的代码类的必要性。我的应用程序的自定义逻辑(例如本例中的Invoice_Handler)。
但随着我的应用程序的增长,这会造成越来越多的混乱。到目前为止,我还没有看到任何好的例子,我没有足够的经验来自己得出结论:
常规和常识在分离这两个明确且明显不同的类别时有什么作用?
答案 0 :(得分:0)
您可以使用以下结构:
libs
Common(Core)
Db
Connection(Database).php
Input
Validator
Filter
Handler(Controller)
Invoice.php
Model
答案 1 :(得分:0)
这个问题有点模糊,显示的示例文件名并没有真正解释它们。但是,我会说你需要将你的课程组合成一个有意义的结构。
/app
/library
/My
/Controller
AbstractController.php
/Filter
CamelCaseToUnderscore.php
UnderscoreToCamelCase.php
/Validator
Date.php
Url.php
我使用的课程与你的课程截然不同(至少我认为是这些课程),但你可以清楚地看到它们被归为一种逻辑结构。
答案 2 :(得分:0)
我最终根据它们包含的抽象级别来分离我的库。为了寻找更好的高级抽象名称,我使用了类别名services
来保存这些名称,并保留libraries
用于低级抽象类。
IE中。 :
/common
/libraries (low-level)
database.php
session.php
email.php
/services (high-level)
auth.php (dependent on database + session)
invoicing.php (dependent on database + email)