Въпросче за 4 функций

mizarck

Registered
Здравейте,
можете ли да ми кажете какмо е разликата между следните функции
# require
# include
# require_ once
# include_ once
10х предварително
 
между require и include , require_ once и include_ once няма особена разлика.
разликата идва при
require и require_ once
единтично е и при include и include_ once .
разликата е там , че ако се инклудне (с include или require)
при include_ once ( или require_ once ) ще се изпълни функцията или там каквото е във файла само 1 път.
незнам как да ти го обясня по-добре..

а иначе разликата м/у require и include мисля , че беше при някаква грешка едното връщаше fatal error , другото warning ..
 
Здравей!

Много накратко:

Според онова, което съм челrequire(); не е точно функция, а езикова конструкция.
Подобно на include(); тя включва файл, с първа разлика, че не връща стойност "True" при включване на файла или "False" при неизпълнение, т.е. няма как да направиш проверка дали включването е успешно.
Второ (също много важно): при include(); обработката на кода от парсера става в момента на изпълнението, докато при require(); кодътт първо се парсва изцяло и тогава се подава за изпълнение. И пример:

Файл за включване - file.php:
<?
$bukvi="a, b, v, g...";
?>

Примерни записи:

<?
$nachalo= "Pyrvite 4 bukvi ot azbukata:";
include ("file.php");
echo "$nachalo $bukvi"
?>

<?
$nachalo= "Първите 4 букви от азбуката:";
require ("file.php");
echo "$nachalo $bukvi"
?>


Хипотеза: файла за включване не съществува или по някаква причина не се включва.
В първия случай, кодът на основния файл ще се изпълни, ще изпише предупреждение, но ще имаме резултат, макар и непълен:

"Първите 4 букви от азбуката: "

Във втроия случай, липсващия файл няма как да бъде обработен и подаден за включване и изпълнението ще спре веднага. Най-вероятно ще се получи съобщение за грешка: Парс ерор... така че няма да изпише стойността дори на налината променлива $nachalo.

За require_ once и include_ once виждам, че Бафиту ти е обяснил...
 

Back
Горе