Include и ему подобная функция

Тема в разделе "PHP программирование", создана пользователем Froex, 19 окт 2008.

  1. Froex

    Froex Гость

    На странице происходит подключение кода с помощью php-функции include. Как избежать случая, когда файл может подключиться больше одного раза?
    Например, в начале есть код:
    Код (Text):
    <?php include "myfile.php"; ?>
    как запретить подключение этого же файла в другом месте документа?

    p.s. кажется, я где-то видел функцию, аналогичную include, только проверяющую, подключался ли файл или нет... может она и правда есть?
     
  2. Vovochka

    Vovochka Гость

    см. include_once()
     
  3. GOsha

    GOsha Гость

    Вместо include и include_once, где можно, лучше использовать require и require_once
     
  4. Noel

    Noel Гость

    Да require_once и incluce_once это функции которые проверяют чтобы функция подключалась только 1 раз
    и не даст вам несколько раз подключать эту функцию.
     
  5. GOsha

    GOsha Гость

    Подключается не функция, а файл.
     
  6. Noel

    Noel Гость

    Прошу прощения за необдуманный ответ.
    Да эти 2 функции которые подключают файлы другие хоть html хоть php или же вообще без расширения
    пишется это дело обычным способом
    <?php
    include_once("имя_файла.расширение");
    require_once("имя_файла.расширение");
    ?>
    чтобы работали инструкции php в этих файлах то надо теги <?php и ?> тоже писать
    иначе будут все данные обработаны как обычный HTML
    короче include отличается от require тем что requre более строг к ошибкам и будут все ошибки показываться на странице
    а инклуд все ошибки заныкает и не покажет пользователям сайта
     
  7. GOsha

    GOsha Гость

    Опять неверно... )))
    Показ ошибок определяется функцией error_reporting().

    Смысл такой:
    <?php
    error_reporting(0);
    ?>
    Отключает показ ошибок

    <?php
    error_reporting(15);
    ?>
    Показывает все ошибки с нотисами.
    Лучше писать скрипты на error_reporting(15); описанном в одном единственном месте, например файлах конфига.
    Это обеспечивает безглючность и полноценную работу. Потом где-нить в конфиге меняем его на 0 перед загрузкой на сервер.

    Теперь разница между include и require:

    Эти две конструкции идентичны во всём, кроме обработки облома. include() выводит Warning!, а require() выдаёт Fatal Error. Иначе говоря, используйте require(), если вы хотите, чтобы отсутствие файла останавливало процессинг страницы. include() не работает таким образом, скрипт продолжит выполнение. Не забудьте также о соответствующей установке include_path.

    Когда файл подключён/included, содержащийся в нём код наследует область видимости переменной строки, на которой возникло подключение. Любые переменные, доступные на этой строке в вызывающем файле, будут доступны в вызываемом файле, вперёд от этой точки.

    Проще говоря - require остановит дальнейшуб работу скрипта, если возникнет косяк. include - продолжит. Оч удобно, если какой-то файл должен в любом случае присоединяться иначе дальше работать нет смысла. например конфиг с настройками сайта.
     
  8. Froex

    Froex Гость

    Всем спасибо за ответы. Премного благодарен.
     
Загрузка...

Поделиться этой страницей