首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php参考架构/设计/文件夹结构

php参考架构/设计/文件夹结构
EN

Software Engineering用户
提问于 2017-12-11 13:52:34
回答 1查看 4.4K关注 0票数 2

我目前正与PHP合作开发服务器客户端应用程序,因此,我试图设计一个参考体系结构来指导我的实现过程。

我真的很喜欢新的平均堆栈文件夹结构和组件/模块的方法,但即使在这里,我也非常努力。

例如:

代码语言:javascript
复制
/<project-name>
    index.php
    /static
        /css
            /main.css
        /js
            /user
                userFunctions.js
        /bower_components 
            /jquery
            /chart
            /fontawesome
            /template-engine
            ...
    /scripts
        /debug.php
        /checkCodingStyle.php
    /modules
        /user
            userDetailsController.php
            userListController.php
            userDetailsView.php
            userListView.php
            user.php
            userDao.php 
    /utils
        /db
            mysql.php
        /log
            log.php
        /lib
    /tests
        userUnitTest.php

有一个叫做“用户”的模块,它基于一个数据模型user.php,具有两个不同的视图和控制器。可以从调用数据访问对象userDao.php的数据库中访问该模型。

MVC + Dao允许我通过关注点分离应用程序的内容和逻辑,还允许模块之间的松散耦合和每个模块内部的强大内聚力。

但是:

模型用户可能也是我在其他模块中需要的东西。假设我们有一个模块事件,我确实想在那里重用数据模型user.php,如果使用一个基于userListView.php的用户选择列表会更好。

我该怎么做?userListView.php包含我需要的所有东西,但是它连接到userListController.php。

当您从另一个模块调用一个数据模型并在另一个模块控制器中重用它时,它是错误/坏的吗?

是否有更好的方法来建立模块之间的接口,比如一个模块可以调用的服务?

EN

回答 1

Software Engineering用户

回答已采纳

发布于 2017-12-12 20:01:54

我认为,使用框架可以很容易地避免您所经历的大部分挣扎。因此,除非您的项目是关于使用赤裸的PHP,否则使用一个框架。

创建开源框架的人会把时间花在解决这类问题上,这样你就可以专注于有趣的事情,而不是花在改变文件的组织方式上。

对于PHP,我建议您看看Symfony项目:

https://symfony.com/six-good-reasons

它有一个很大的代码库,您可以从中学习,因为许多项目都是基于symfony的,或者正在使用它的组件。

还有一个最佳实践列表,其中包括有关组织业务逻辑的信息:

https://symfony.com/doc/current/best_实践/index.html

如果您仍然对框架持怀疑态度,并且希望不使用框架,那么我还推荐这组文章:

创建自己的PHP框架

http://symfony.com/doc/current/create_框架/index.html

希望这能有所帮助!

票数 2
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/362169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档