[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: require - при подключении одного и того же файла,
meryfelow
function.php

function show() {
echo "1";
}



index.php

require("function.php");
require("function.php");
require("function.php");
require("function.php");

show();


Результат: 1

Собственно почему не ругается, я же не require_once использую. Почему выполняется один раз.
Игорь_Vasinsky
error_reporting(E_ALL); 


в начало скрипта.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
meryfelow
error_reporting(E_ALL);
ini_set('display_errors', true);
require("function.php");
require("function.php");
require("function.php");
require("function.php");
show();


Ну собственно такое и есть
meryfelow
Ошибки выводятся и предупреждения - но вот для этого примера нет.
Если в function.php объявить функцию show() больше одного раза -то сразу ругается.
А вот через require - нет.
Nikitian
У вас случайно не php4? Четвёрка несколько иначе обращается с функциями из включаемых файлов, хотя это и относится только к include (практически алиас, кроме типов ошибки), возвращающим результат через return.
Цитата

Если во включаемом файле определены функции, они могут быть использованы в главном файле вне зависимости от того, были ли они объявлены до return или после. Если файл включается дважды, PHP 5 выдаст фатальную ошибку, потому что функции уже были определены, в то время как PHP 4 не обратил бы внимания на функции, определенные после return.
meryfelow
phpinfo()
PHP Version 5.3.8-ZS5.5.0
Nikitian
Может какой-нибудь хитрый оптимизатор стоит как модуль? Странное поведение, очень странное.
meryfelow
Ну это с Zend сервером php ставился, разве что из-за этого.
Надо попробовать на чистом php.
meryfelow
Zend Optimizer+ может быть?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.