无论你自己构建你的PHP应用程序还是使用框架(MVC或其他),你发现哪种文件夹结构最符合逻辑,并且你一直在发现你一直坚持。你使用什么文件夹结构
我还没有开发一个我承诺的文件夹结构,但我注意到我的所有项目甚至是2页的文件夹都至少有一个webroot
文件夹(用于htaccess,index,css,havascript等文件)和另一个上面的网站根目录的文件夹,我尽量保留尽可能多的文件。很基本。希望听到别人正在做什么来保持他们的计划组织。
无论你自己构建你的PHP应用程序还是使用框架(MVC或其他),你发现哪种文件夹结构最符合逻辑,并且你一直在发现你一直坚持。你使用什么文件夹结构
我还没有开发一个我承诺的文件夹结构,但我注意到我的所有项目甚至是2页的文件夹都至少有一个webroot
文件夹(用于htaccess,index,css,havascript等文件)和另一个上面的网站根目录的文件夹,我尽量保留尽可能多的文件。很基本。希望听到别人正在做什么来保持他们的计划组织。
我对于Web项目的默认文件夹结构
+projectname/
+htdocs/
| +assets/
| | +js/
| | +css/
| | +img/
| | +swf/
| +content/
+sys/
| +temp/
| +config/
| +libs/
+docs
如果您使用框架,我会建议坚持为框架推荐的文件夹结构。这意味着一旦你了解了它,你就可以更容易地适应使用该框架的其他项目,熟悉框架的其他编码人员也会更容易理解你。
对于小项目我通常使用以下方法来从工作:
httpdocs
(Web根)
data-providers
(AJAX端点)script
(JS:公用程序,脚本库)style
(CSS和图形 - 主要是sprites而不是gfx
文件夹我曾经有过)models
(PHP类)至于在httpdocs
PHP文件我通常使用每页/功能一个文件(包括基本CRUD operations)。
因此,您将用于CRUD操作的PHP文件放在httpdocs中,以及用于网页的PHP文件中?什么样的文件在“数据提供者”呢?你如何访问模型?使用“../”路径? – Tomas 2010-09-24 08:33:14
@Tomas模型是从'httpdocs'和'models'的父文件夹中包含的'.htaccess'包含的config.php文件'__autoload''。 'data-providers'包含返回片段的资源,例如通过jQuery加载的城市邮编等。至于CRUD操作:文件(例如user.php)将(默认情况下)显示一个“用户”实例,但也处理创建和更新。我不知道MVC,但是这些都是次要的(大部分是私人的)项目。 – jensgram 2010-09-24 08:40:34
我一般遵循类似马丁Holzhauer的东西,但是我保留任何常见的PHP包括在一个单独的树(通过include_path中引用 - 称之为通用库) 。
通过浏览器直接寻址的每个页面在其自己的目录中创建为index.php。包含特定于该单个页面的文件(或任何其他内容)进入该目录,通常包括进入公共库。
通过保持web根目录以外的上传临时文件和包含内容,它有点简化了安全性。
实际上,我实际上有几条包含路径 - 完整的解释请参阅今年早些时候的PHP Architect中的文章 - 但这允许我控制dev/staging/live的不同设置(例如数据库设置)。并且还可以覆盖特定的文件(例如添加额外的日志/诊断)
可能的重复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
@Serge,谢谢你的有用链接。但我并不特别偏向于MVC架构。任何文件夹结构都可以,包括每页1个文件。 – jblue 2010-09-24 07:27:18