2010-09-24 82 views
1

无论你自己构建你的PHP应用程序还是使用框架(MVC或其他),你发现哪种文件夹结构最符合逻辑,并且你一直在发现你一直坚持。你使用什么文件夹结构

我还没有开发一个我承诺的文件夹结构,但我注意到我的所有项目甚至是2页的文件夹都至少有一个webroot文件夹(用于htaccess,index,css,havascript等文件)和另一个上面的网站根目录的文件夹,我尽量保留尽可能多的文件。很基本。希望听到别人正在做什么来保持他们的计划组织。

+0

可能的重复http://stackoverflow.com/questions/1795136/ideal-folder-structure-of-mvc-framework和http:// stackoverflow。 com/questions/3040308/folder-structure-of-php-mvc-framework-am -i-doing-this-right/ – Serge 2010-09-24 07:24:11

+0

@Serge,谢谢你的有用链接。但我并不特别偏向于MVC架构。任何文件夹结构都可以,包括每页1个文件。 – jblue 2010-09-24 07:27:18

回答

4

我对于Web项目的默认文件夹结构

+projectname/ 
    +htdocs/ 
    | +assets/ 
    | | +js/ 
    | | +css/ 
    | | +img/ 
    | | +swf/ 
    | +content/ 
    +sys/ 
    | +temp/ 
    | +config/ 
    | +libs/ 
    +docs 
4

如果您使用框架,我会建议坚持为框架推荐的文件夹结构。这意味着一旦你了解了它,你就可以更容易地适应使用该框架的其他项目,熟悉框架的其他编码人员也会更容易理解你。

3

对于小项目我通常使用以下方法来从工作:

  • httpdocs(Web根)
    • data-providers(AJAX端点)
    • script(JS:公用程序,脚本库)
    • style(CSS和图形 - 主要是sprites而不是gfx文件夹我曾经有过)
  • models(PHP类)

至于在httpdocs PHP文件我通常使用每页/功能一个文件(包括基本CRUD operations)。

+0

因此,您将用于CRUD操作的PHP文件放在httpdocs中,以及用于网页的PHP文件中?什么样的文件在“数据提供者”呢?你如何访问模型?使用“../”路径? – Tomas 2010-09-24 08:33:14

+0

@Tomas模型是从'httpdocs'和'models'的父文件夹中包含的'.htaccess'包含的config.php文件'__autoload''。 'data-providers'包含返回片段的资源,例如通过jQuery加载的城市邮编等。至于CRUD操作:文件(例如user.php)将(默认情况下)显示一个“用户”实例,但也处理创建和更新。我不知道MVC,但是这些都是次要的(大部分是私人的)项目。 – jensgram 2010-09-24 08:40:34

2

我一般遵循类似马丁Holzhauer的东西,但是我保留任何常见的PHP包括在一个单独的树(通过include_path中引用 - 称之为通用库) 。

通过浏览器直接寻址的每个页面在其自己的目录中创建为index.php。包含特定于该单个页面的文件(或任何其他内容)进入该目录,通常包括进入公共库。

通过保持web根目录以外的上传临时文件和包含内容,它有点简化了安全性。

实际上,我实际上有几条包含路径 - 完整的解释请参阅今年早些时候的PHP Architect中的文章 - 但这允许我控制dev/staging/live的不同设置(例如数据库设置)。并且还可以覆盖特定的文件(例如添加额外的日志/诊断)