我在哪里将include_once放在PHP应用程序中?

时间:2012-01-10 08:01:13

标签: php configuration

我有一个简单的PHP应用程序,还有一个包含一些配置设置的类,如DB conn string和一些路径。我最好放置include_once('config/config.php');代码?

由于

6 个答案:

答案 0 :(得分:1)

我喜欢使用具有一个入口点的Front Controller模式。在这一点上,我创建了一个Config类的实例,其中包括Db配置和其他。

答案 1 :(得分:1)

需要包含文件才能使用其中的任何内容。

因此,文件的开头通常是个好位置。

答案 2 :(得分:1)

您可以使用名为auto_prepend_file的PHP设置。将其设置为脚本引导程序的文件:

bootstrap.php中

<?php
/* 
 * bootstrap
 *
 * this file will be always loaded first.
 */

include(__DIR__.'/config/config.php');

稍后您可以包含应用程序需要工作的所有内容。

如果您不想使用该ini设置,您也可以在所有脚本中包含最顶层的bootstrap.php文件:

用户/ profile.php

<?php
/*
 * show profile of a user
 */
require(__DIR__.'/../bootstrap.php'); # bootstrap

在应用程序的最开始处设置一个中心点通常是个好主意,这通常称为 bootstrap

答案 3 :(得分:0)

如果您没有很多文件,只需将所有文件放在同一个源目录中即可。

否则,“include”或“inc”是常用名称。通常与“src”和“imgs”并行;在你的应用程序的根目录下。

但为什么不使用“config”,就像在你的例子中一样?对我来说听起来非常合适:)

答案 4 :(得分:0)

取决于具体情况。 通常靠近顶部。这是最常用的,但有些情况下,只有在满足某些设置时才要包括。

然后,您可以将它包含在您需要的地方但不太干净。

在您的情况下,配置应该包含在最顶级的解决方案中。

另请注意,在使用配置文件中的变量之前,需要先包含它。 这就是为什么包含在文件顶部完成的原因。

答案 5 :(得分:0)

从理论上讲,您可以在PHP代码中的任何位置包含文件,只要在包含后才能使用它。

然而,在实践中,我一般都看到包含在两个地方。

  1. 如果它只是一个没有功能的普通文件,那么它通常放在文件的顶部。这提高了代码的可读性。任何开始阅读你的代码的人都会在外部依赖开始时知道。

  2. 如果有函数,那么函数的开头也是如此 - 通过与上面相同的逻辑。请注意,它包含在函数内部而不是文件的顶层。这主要是因为其他功能可能不需要它。即使他们这样做,我认为保持包含每个函数的单独使得函数更加模块化 - 函数中的所有依赖项。