3

据我了解,使用类似的东西require_once基本上会将代码从一个文件复制并粘贴到另一个文件中,就好像它最初在第一个文件中一样。这意味着如果我要做这样的事情,那将是有效的

foo.php

<?php
require_once("bar.php");
?>

酒吧.php

<?php
print "Hello World!"
?>

运行php foo.php只会输出"Hello World!"

现在我的问题是,如果我包含require_once在一个方法中,是在加载脚本时加载包含的文件,还是仅在调用该方法时加载?如果仅在调用该方法时,在性能方面是否有任何好处。还是就像我将所有代码保存在一个大文件中一样。

我主要是问,因为我创建了一个API处理大量调用的文件,并且我不想简化文件。(我知道我可以通过创建单独的类来做到这一点,但我认为这很高兴知道)

(对不起,如果这已经被问到了,我不确定要搜索什么)

4

4 回答 4

2

它只包括调用该方法的时间,但是您看过自动加载吗?

于 2012-03-02T22:49:41.127 回答
1

1) 仅当方法被调用时。

2) 我想动态加载有一个无​​形的好处,所以如果没有使用 PHP 解释器,它就不必解析额外的代码。

于 2012-03-02T22:36:50.540 回答
0

我通常使用 include('bar.php'); 我在使用数据库信息时使用它,我有一个名为 database.php 的文件,其中包含登录信息,当文件加载时它会立即调用它。我不需要调用该功能。它可能不是最有效和最有效的,但它对我有用。您也可以使用 include_once ... include 基本上可以执行您想要的操作,它会复制代码 essencially..

于 2012-03-03T00:35:33.340 回答
0

正如其他人所提到的,是的,它包括即时。

但是,请注意变量定义(require()方法中的 ing 只允许访问该方法范围内的局部变量)。

请记住,您还可以从包含的文件中返回值(即字符串),以及缓冲区输出ob_start()等。

于 2012-03-03T00:39:45.170 回答