PHP 的项目结构
我是PHP的新手,想知道php项目的目录结构。我有Java的经验,在Java中,我们有src包含java源文件,WEB-INF包含lib和jsp页面。我们在PHP中是否有任何类似的标准目录结构?此外,我们在php中也有分层,就像我们在java中有层一样(例如Web,Service,DAO层)
我浏览了几个链接。但每个人都给出了不同的答案。
不确定我们是否可以比较这两种语言。我只想坚持一些标准。
提前致谢。
我是PHP的新手,想知道php项目的目录结构。我有Java的经验,在Java中,我们有src包含java源文件,WEB-INF包含lib和jsp页面。我们在PHP中是否有任何类似的标准目录结构?此外,我们在php中也有分层,就像我们在java中有层一样(例如Web,Service,DAO层)
我浏览了几个链接。但每个人都给出了不同的答案。
不确定我们是否可以比较这两种语言。我只想坚持一些标准。
提前致谢。
不。PHP是你用它做的。它可以是非常简单的平面文件,也可以是您想要的任何文件。
话虽如此,有一些商定的编码标准,但没有“执行”所述标准。它们被称为PSR(PHP标准推荐)。这里有一个背景:http://net.tutsplus.com/tutorials/php/psr-huh/
你可以在这里逐一查看标准:http://www.php-fig.org/psr/
大多数主要框架都遵循这些标准,如果您要使用一个标准,则可能更容易遵循流程。
同样,每个框架,项目,插件,程序等都有不同的布局和不同的项目结构。常见的结构是这样的:
-framework_dir
-public_html
-js
-img
-css
-index.php
-protected/private
-controllers
-models
-views
-etc
然后,他们使用该文件阻止对受保护目录的访问。同样,这只是我在几个框架中看到的常见表示。如果你正在做一个个人项目,只需使用一些你觉得舒服的东西。每个框架都会给你一个不同的库或方法来访问数据。没有“层”,但同样,每个框架都有处理不同区域(电子邮件,数据库,缓存,http,日志等)的对象。因为有几十个流行的,所以由你来找到适合你的哲学或项目的东西。观看5分钟的博客视频中的一些,看看有什么jives,然后给它一个测试运行几天。如果您不喜欢它,请切换到另一个。.htaccess
随着Composer的发明,人们现在有一个中心位置来注册他们的项目供全世界消费,其他人现在可以查看该代码库并看到相似之处。
结果是这样的:https://github.com/php-pds/skeleton
总之:
如果包具有 | 那么它必须被命名 |
---|---|
命令行可执行文件 | 箱/ |
配置文件 | 配置/ |
文档文件 | 文档/ |
网络服务器文件 | 公共/ |
其他资源文件 | 资源/ |
PHP 源代码 | 来源/ |
测试代码 | 测试/ |
本标准没有就以下或 下方必须存在哪些目录提出任何进一步的建议。src
public
在任何这些目录中组织PHP源文件的任务仍然取决于您,但是本文中概述了我同意的建议:要么按类型(控制器,实体,服务)排序,要么按功能排序(用户,登录名,购物车,目录,文章,评论) - 后者将属于一个功能的所有代码保留在目录(或几个子目录)中, 这通常似乎是更好的文件组织。
在按类型进行组织时,您会发现自己经常在目录之间跳转,并且您也无法很好地了解代码的内容 - 您总是有“控制器”,但您很少拥有“StampCollection”。