Будет ли файл включен снова или только один раз?
myfile.php
включается только один раз.
require_once 'myfile.php'; //included
include_once 'myfile.php'; // not included
В чем разница между этими двумя?
Разница между include_once
и require
заключается в том, что когда они не могут найти файл, include_once
выдаст предупреждение и require
выдаст фатальную ошибку.
require является идентичным для включения, за исключением того, что при сбое оно также приведет к фатальной ошибке уровня E_COMPILE_ERROR. Другими словами, он остановит скрипт, тогда как include выдает только предупреждение (E_WARNING), которое позволяет скрипту продолжить.
[http://php.net/manual/en/function.require.php]
Require вызывает ошибку при сбое и включает попытки восстановления? есть другие отличия?
include
позволяет восстановить да, неудачный оператор require
всегда заканчивается в одну сторону, a try
catch
не могу даже сохранить ваш сценарий.
Стоит указать, что произойдет, если другие комбинации из четырех файлов оценочных отчетов (include
, include_once
, require
и require
).
Если файл был найден
include
и require
всегда будут включать файл независимо от того, использовали ли вы ранее require
, include
, require
или include_once
с тем же файлом.
include_once 'myfile.php'; //included
include 'myfile.php'; //always included
require 'myfile.php'; //always included
require_once 'myfile.php'; // not included, prevously included via [function.include_once], [function.include] and [function.require]
include_once
и require
будут включать файл, только если он не был ранее включен с использованием require
, include
, require
или include_once
выписка.
require 'myfile.php'; //always included
include_once 'myfile.php'; // not included, prevously included via [function.require]