博客
关于我
PHP应用目录结构设计
阅读量:793 次
发布时间:2023-03-01

本文共 1254 字,大约阅读时间需要 4 分钟。

动态网站应用目录结构之探讨

概述

本文对动态网站应用中常用的集中文件组织结构进行归纳与阐述,旨在为开发者提供一个清晰的参考,帮助他们在项目启动前做出合适的选择。本文所归纳的目录结构类型是基于实践经验总结出来的,并通过为每种结构命名,便于开发者对比其优劣。


目录结构类型

1. 古典型 (类 Unix/Linux)

古典型结构的顶层划分为 2 个目录:一个用于保存网站可读文件(如图片、JavaScript脚本、CSS文件),另一个用于存放应用程序文件。这种结构模仿了 Unix/Linux 操作系统的目录布局,适合对 Unix/Linux 风格熟悉的开发者。

优点:

  • 安全性高:将与应用相关的文件独立放置,便于管理。
  • 类库文件存放本地:避免服务器端存放大量类库文件。
  • 适合关联性高的模型、视图和控制器。

缺点:

  • 对不熟悉 Unix/Linux 结构的开发者可能感到陌生。
  • 对于互不相关的代码模块(如博客和投票系统),采用分目录存放可能不太合适。

2. 古典扩展型

这种结构在古典型结构的基础上增加了配置目录和用户目录,使其功能更为全面。

优点:

  • 保留了古典型结构的所有优点。
  • 采用 Unix/Linux 风格的简短命名(如 libusrvar),对不熟悉 Unix/Linux 结构的开发者更友好。

缺点:

  • 与古典型结构类似,缺点也相同。

3. 古典扩展嵌入型

在某些特定场景下(如租用虚拟主机),将应用相关文件放置在网站可读目录之外可能更有优势。这种结构通过 .htaccess 文件或其他保护机制来确保文件安全。

优点:

  • 适用于只能访问特定目录的开发环境。
  • 可以通过 .htaccess 文件进行文件访问控制。

缺点:

  • 如果没有精心配置,可能会带来安全隐患。
  • 不能使用 /application/ 的映射,因为文件实际存在于文件系统中。

4. 常规型结构

这种结构将应用相关代码、类库、临时文件等分散存放于多个顶层目录中,类似于PEAR 软件包的安装方式。

优点:

  • 适合将与应用直接相关的代码集中存放。
  • 类库存放于系统全局,方便管理。
  • 提供了明确的存储位置,方便开发和维护。

缺点:

  • 顶层目录较多,结构较为复杂。
  • 转换为嵌入式结构较为困难。
  • 不易区分用户自定义类库和第三方类库。

5. 常规模块型结构

这种结构将特定模块的模型、视图和控制器打包存放,便于管理和维护。

优点:

  • 适合需要对多个模块进行管理的复杂应用。
  • 模块化设计便于扩展和维护。

缺点:

  • 与常规型结构类似,缺点也相同。

命名约定

名字 可替代名字
htdocs www、public_html 或 inetpub
images img
scripts js 或 javascrīpt
styles css
sessions session
cache cache
view_compiles view_compiles

通过以上分析,开发者可以根据项目需求选择最适合的目录结构,同时注意遵循命名约定原则,确保代码组织和管理的规范性。

转载地址:http://bptfk.baihongyu.com/

你可能感兴趣的文章
php异常处理
查看>>
PHP引入了泛型和集合两大重要特性,大大改善 PHP 代码的可维护性和可读性
查看>>
PHP引擎php.ini参数优化
查看>>
PHP引用(&)使用详解
查看>>
php引用及垃圾回收
查看>>
php当前时间的集中写法
查看>>
php循环比较数组中的值,如何从PHP数组中计算值并在foreach循环中仅显示一次值?...
查看>>
php微信 开发笔记,微信WebApp开发总结笔记
查看>>
php微信公众号开发access_token获取
查看>>
php微信公众号开发微信认证开发者
查看>>
php微信公众号开发用户基本信息
查看>>
php怎么将对象变成数组,php怎么将对象转换成数组
查看>>