开发者

What is the difference between PHP require and include?

I know the basic usage of PHP require, require开发者_StackOverflow社区 once, include and include once. But I am confused about when I should use them.

Example: I have 3 files, eg: settings.php, database.php, and index.php.

In database.php file, i wrote:

require_once 'settings.php';

and then in index.php, i wrote:

require_once 'settings.php';
require_once 'database.php';

so I load settings.php two times, is this okay? Any tips using these functions?


  • include includes a file and throws a warning if the file was not found.

  • require includes a file and throws a fatal error if the file was not found.

  • include_once and require_once do the same thing, but only if the file was not already loaded.

However, the need for one of the _once functions is usually a sign of bad design. You should build your scripts in a way that clearly defines what gets included where.

Choose one place for settings.php to get included - probably index.php. There should be no need to additionally include it in database.php.


You don't load settings.php two times, as per PHP documentation on require_once;

The require_once() statement is identical to require() except PHP will check if the file has already been included, and if so, not include (require) it again.


The difference between include() and require() arises when the file being included cannot be found: include() will raise a warning (E_WARNING) and the script will continue, whereas require() will raise a fatal error (E_COMPILE_ERROR) and halt the script. If the file being included is critical to the rest of the script running correctly then you need to use require().

For more details : Difference between Include and Require in PHP


  • require
    when the file is required by your application, e.g. an important message template or a file containing configuration variables without which the app would break.

  • require_once
    when the file contains content that would produce an error on subsequent inclusion, e.g. function important() { /* important code */} is definitely needed in your application but since functions cannot be redeclared should not be included again.

  • include when the file is not required and application flow should continue when not found, e.g.
    great for templates referencing variables from the current scope or something

  • include_once
    optional dependencies that would produce errors on subsequent loading or maybe remote file inclusion that you do not want to happen twice due to the HTTP overhead


Difference:-

include() Fetch data and load contain in current file and also load same file more than one time.

include_once() work same as include() but we use include_once() if a file has already been included, it will not be included again. if use same file as multiple time in Like:- include_once 'setting.php'; use second time include_once 'settting.php'; ignore them.

require() work same as include().

require_once() if file has already included, it will not be included again.

include() and include_once() produce warning and script will continue.

require() and require_once() produce fatel error and stop the script.

Better to use

require_once() in your script.


require_once would check if the file is already included and not include it again, so don't worry it won't load settings.php twice.


if your file is important, I think you should use "require",
but if not, i always use include, like peka's answered
require includes a file and throws a fatal error if the file was not found.


include_once and require_once use in Php for add one page to another page example:you want to add database connection page conn.php in edit page edit.php you can use it. But there is different between include_once and require_once if include_once function get any error it will be warning you and execute the code but require_once function find any error it will stop the script and do not execute the code .

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜