【发布时间】:2012-01-10 08:01:13
【问题描述】:
我有一个简单的 PHP 应用程序和一个类,其中包含一些配置设置,如 DB conn 字符串和一些路径。我最好将include_once('config/config.php'); 代码放在哪里?
谢谢
【问题讨论】:
标签: php configuration
我有一个简单的 PHP 应用程序和一个类,其中包含一些配置设置,如 DB conn 字符串和一些路径。我最好将include_once('config/config.php'); 代码放在哪里?
谢谢
【问题讨论】:
标签: php configuration
有一个名为auto_prepend_file 的PHP 设置可供您使用。将其设置为脚本的引导文件:
bootstrap.php
<?php
/*
* bootstrap
*
* this file will be always loaded first.
*/
include(__DIR__.'/config/config.php');
然后您可以稍后包含您的应用程序运行所需的所有内容。
如果您不想使用该 ini 设置,您也可以在所有脚本中只在最顶部包含 bootstrap.php 文件:
user/profile.php
<?php
/*
* show profile of a user
*/
require(__DIR__.'/../bootstrap.php'); # bootstrap
在您的应用程序的一开始就有一个中心点通常是个好主意,这通常称为 bootstrap。
【讨论】:
我喜欢使用带有一个入口点的前端控制器模式。在这一点上,我创建了一个 Config 类的实例,其中包括 Db config 和其他。
【讨论】:
在使用其中的任何内容之前,您需要包含文件。
所以文件的开头通常是一个不错的位置。
【讨论】:
如果你的文件不多,把所有东西都放在同一个源目录中。
否则,“include”或“inc”是常用名称。通常与“src”和“imgs”并行;在您应用的根目录下。
但是为什么不像你的例子那样只使用“config”呢?听起来对我来说是一个非常合适的地方:)
【讨论】:
视情况而定。 通常靠近顶部。这是最常用的,但有些情况您只想在满足某些设置时才包括在内。
然后你可以将它包含在你需要的地方,但它不太干净。
在您的情况下,配置应该包含在最干净的解决方案的顶部。
另外请注意,您需要先包含它,然后才能使用配置文件中的变量。 这就是为什么包含在文件顶部完成的原因。
【讨论】:
从理论上讲,您可以在 PHP 代码中的任何位置包含文件,前提是您仅在包含后才使用它。
但是,在实践中,我通常在两个地方看到 include。
如果只是一个没有功能的普通文件,那么一般放在文件的最前面。这提高了代码的可读性。此外,任何开始阅读您的代码的人都会在外部依赖项的开头知道。
如果有函数,那么也在函数的开头 - 与上述相同的逻辑。请注意,它包含在函数内部,而不是文件的顶层。这主要是因为其他功能可能不需要它。即使他们这样做了,我认为为每个函数保留单独的包含会使函数更加模块化 - 函数中的所有依赖项。
【讨论】: