构建一个大的PHP项目

时间:2010-09-02 09:34:26

标签: php

PHP是一种很灵活的语言,无论如何我都可以这样做。但是,您认为构建大型项目的最佳实践是什么?

我已经为客户建立了一个定制的CMS,但因为这是我第一次进入一个大型项目,它有点乱。到处都有文件,文件夹结构非常糟糕。

一位朋友建议,应该位于网站根目录中的唯一文件是“页面”文件 - 即实际上包含HTML的文件,并且每个不同的元素应该有单独的文件夹,然后可以轻松地将其拉入包含的不同页面。每个人都会推荐这条路线,还是完全受个人喜好的约束?

4 个答案:

答案 0 :(得分:4)

如果要开始一个新项目,请考虑使用框架,或者看看他们是如何做到的。

框架通常指示或建议目录结构。

即使你最终没有使用它:他们构建项目的方式通常来自吨和大量的经验。

我个人喜欢Zend Framework的结构化方式,以及最好的Autoloader。但是有几种选择和理念。

框架问题:

一般相关:

答案 1 :(得分:2)

我建议在根文件夹中只有一个文件,即index.php,并根据收到的请求将此文件包含在其他所需内容中。 如果你做OOP,通常很方便将你的类放入模仿你的命名空间的文件夹结构中(无论是用PHP< 5.3模拟还是用5.3+实际模拟)。这样可以轻松自动加载类。

答案 2 :(得分:2)

我会说太多如何以文件夹方式布局应用程序。拥有文件是必需的,它对应用程序有一些影响。解决这个影响。这不是你布局文件夹的方式,这就是原因。在下面找到一些想法。

为了安全起见,您应该只将那些脚本放入实际上应该可以直接为全世界服务的webroot中。

此外,如果您在运行时创建了文件,请确保在将应用程序部署/更新到服务器时不会覆盖这些文件。无论是在部署例程中还是在文件夹布局中解决这个问题,都取决于您。

为了提高性能,请考虑到包含特定请求不需要的文件/代码会不必要地降低您的应用速度。那么有很多include_paths可以搜索。确保PHP可以快速找到它需要的文件。

为了可维护性,请使用常识。没有规则,每个类必须有一个文件。您也不必遵循PEAR文件布局。 PEAR是一种普遍的约定,也是一种合理的约定,但如果对于这个特定的应用程序有意义,则将文件放入单个文件夹中。

IMO,应用程序不是文件,而是其中的代码。使代码组织得比文件更重要。混乱的文件布局比混乱的架构要小得多。

答案 3 :(得分:1)

我个人使用你在上一段描述的方式,并发现它有用,清洁和放大很快就去了。一定要移动常见的lib /文件中的所有常见内容,绝不应该复制/粘贴。

另一种(常见的)结构化方式是使用某些框架,这通常会强制执行某些特定的项目结构。

相关问题