繁体   English   中英

包含文件的更好方法[php]

[英]Better way to include files [php]

可以说我有四个这样的PHP文件:

www / global.php

<?php 
function doAwesomeStuff() {}

www / child1.php

<?php
include ("global.php");
function Something1() {}

www / child2.php

<?php
include ("global.php");
function Something2() {}

www / subdirectory / grandchild.php

<?php
include ("../global.php");
include ("../child2.php");
function Something3() {}

在一种情况下,我遇到了两次包含全局的问题,但是如果我们变得越来越复杂,则包含的将调用相对于被调用文件的目录路径,而不是包含的文件,这在逻辑上是很痛苦的。

有什么解决办法吗?

就个人而言,我想保持更好的依赖关系跟踪或拥有一个中心包含文件,但是如果失败,总会有include_once()

注意: include_once()require_once()都比普通的include()require()慢得多。

grandchild.php ,执行以下操作:

set_include_path("..");
require_once("global.php");
require_once("child2.php");

并且在所有其他文件中,也最好用require_once替换include ,以避免在无法包含文件后继续操作(“ require”),并避免多次包含文件(“ once”)。

查看require_once ,这样, 当以前未包含文件时,该文件才包含在内。

您可以使用require_once() 当然,最好使文件可靠。 但是require_once将检查“文件是否已经包含,如果已经包含,则不要再次包含(要求)它”。

我认为您正在寻找require_once

如前所述,require_once'includes.php'将完成RE包括太多的工作。

我一直在尝试使用getcwd()返回路径来帮助您完成需要包含的内容,但是不幸的是,我没有具体的东西可以显示给您。

除了require_once部分,您还可以在中央配置文件中使用php的__autoload magic方法来整理代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM