组织php项目文件

组织php项目文件,php,project-organization,Php,Project Organization,我是web开发新手,最近我用Php/Mysql创建了一个web应用程序,现在我想把它放到服务器上,但我觉得我的文件组织很糟糕(非常糟糕) 我的项目文件结构是这样的 |--XAMPP htdocs |--MyProject |--config.php |--functions.php |--header.php |--nav.php |--index.php |--js |

我是web开发新手,最近我用Php/Mysql创建了一个web应用程序,现在我想把它放到服务器上,但我觉得我的文件组织很糟糕(非常糟糕)

我的项目文件结构是这样的

|--XAMPP htdocs |--MyProject |--config.php |--functions.php |--header.php |--nav.php |--index.php |--js |--css |--images |--register |--index.php |--messages |--inbox |--index.php |--handle_inbox.php |--outbox |--index.php |--handle_outbox.php |--trash |--index.php |--handle_trash.php |--uploaded_files |-- ... |--XAMPP-htdocs |--我的项目 |--config.php |--functions.php |--header.php |--nav.php |--index.php |--js |--css |--图像 |--登记册 |--index.php |--信息 |--收件箱 |--index.php |--handle_inbox.php |--发件箱 |--index.php |--handle\u outbox.php |--垃圾 |--index.php |--handle_trash.php |--上传的文件 |-- ...
我能做些什么来改进这个结构并使其安全

建议将所有脚本“隐藏”以避免直接访问,并单独设置public目录

您可以检查来自不同框架的最佳实践,以及它们如何组织目录:

  • ,
  • ,

我建议您指导这些最佳实践,因为他们经过了漫长的道路和无数次的尝试。

Paul M.Jones对PHP领域成千上万个github项目的常见实践进行了一些出色的研究。他根据这项研究编译了一个标准的文件系统结构。看一看你的项目,并把它作为你项目的基础


您不需要他推荐的所有文件结构,但这是一个很好的起点。如果您计划开放项目的源代码,此文件结构将对您的潜在贡献者和用户最有意义。

这是一个非常好的问题,但答案是基于意见的。顺便说一句,您不能在同一根目录下多次使用同一目录(消息)。在不了解您的项目的情况下,很难对安全性进行评论。例如,如果您使用Apache,有一些配置可以避免文件(如config.php)成为服务器,并阻止目录的内容。@BBeta,请在下面找到我的答案。另外,一般的建议是,一旦您对PHP开发不熟悉,即使使用一个简单的PHP框架,它也将允许您以良好的体系结构方式构造代码、文件和组织它们。您可以从CodeIgniter开始,它非常轻。@Farside的回答完全正确。即使您不想(或不能)使用框架重写整个项目,至少您应该仔细观察框架并使用其安全实践。不管怎样,我还是要发布一些链接。