包含PHP文件的最佳做法是什么?
是否最好包含一个include.php包含所有项目PHP文件的文件?或者将它包含在那些需要它们的文件中
现在,我的项目在我的index.php文件中有几个包含文件.在index.php中包含我所有的php文件会降低效率吗?
最后,应该在哪里包含会话检查PHP文件?在所有PHP文件中?
Sav*_*ova 14
编辑2016
好吧,我回答这个问题已有5年了.我还活着.很多都改变了.
现在我使用自动加载器来包含我的文件.以下是带有示例的自动加载器的官方信息.
基本上,我们的想法是拥有一个合适的文件夹结构(例如PSR-4标准)并在每个文件中都有一个类.这样您就可以使用自动加载器,PHP将自动加载您的文件.
老答复
通常,我有一个这样的配置文件:
define(root, $_SERVER['DOCUMENT_ROOT']);
.... // other variables that are used a lot
include (root . '/class/database.php');
.... // other includes that are mostly called from each file, like a db class, or user class, functions etc etc...
if (defined('development'))
{
// turn error reporting on
}
else
{
// turn it off
}
etc etc... You got the point of config.
Run Code Online (Sandbox Code Playgroud)
我在每个文件中包含config.php.我忘了现在该怎么做,但是apache可以为你做自动包含.因此,默认情况下,您可以说apache包含您的配置文件.
然后,我有控制器类,它调用视图.在每个函数中我都调用了视图.
someController.php
function index() { include root . '/views/view_index.php'; }
Run Code Online (Sandbox Code Playgroud)
最后,从视图来看,如果我需要包含页眉和页脚视图,我会这样做:
view_index.php
<?include root . '/view/shared/header.php';?>
<div class="bla bla bla">bla bla bla</div>
<?include root . '/view/shared/footer.php';?>
Run Code Online (Sandbox Code Playgroud)
我总是include在这种结构中使用,而不是include_once因为后者需要额外的检查.我的意思是,因为我很确定我只包含一次文件,所以我不需要使用include_once.这样,你也知道哪个包含在哪里.例如,您知道像db.php或functions.php这样的关键文件位于config.php中.或者您知道包含视图位于控制器中.这对我来说非常有用,我希望这对你也有帮助.
| 归档时间: |
|
| 查看次数: |
12828 次 |
| 最近记录: |