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

问题描述:

我有一个简单的PHP应用程序,也包含一些像DB连接字符串和一些路径的配置设置的类。我最好在哪里放置include_once('config/config.php');的代码?我在哪里可以将include_once放在PHP应用程序中?

感谢

有一个名为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 

在您的应用程序的开头部署一个中心点通常是个好主意,这通常称为引导程序

如果你没有很多的文件,只是把一切都放在同一个源目录。

否则,“包含”或“inc”是常用名称。通常与“src”和“imgs”并行;根据您的应用程序的根源。

但是,为什么不只是使用“配置”,就像你的例子?听起来像是一个完全适合我的地方:)

+0

你是什么意思? – EOB 2012-01-10 08:04:47

+0

paulsm4:是的,我的意思是我把它放在代码中? – EOB 2012-01-10 08:07:55

我喜欢用一个入口点使用前端控制器模式。在这一点上,我创建了一个Config类的实例,其中包括Db配置和其他。

+0

那么这是最合理的方式。这也被大多数PHP框架+1使用 – 2013-11-16 22:50:43

需要在使用它们之前包含文件。

因此,一个文件的开始是一个很好的选择。

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

然后你可以把它包括在你需要的地方,但它不那么干净。

在你的情况下配置应该包括在最干净的解决方案。

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

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

但是,在实践中,我通常看到包括在两个地方。

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

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