Зачем использовать include_once, когда я могу просто набрать его один раз

include_once говорит само за себя, я прекрасно понимаю, как это работает. Я понимаю, что это будет включать только то, что включает ОДИН РАЗ. ОТЛИЧНЫЙ !!! 🙂

У меня вопрос … Если я хочу, чтобы на моей странице было только одно ОДНО ВРЕМЯ, почему я должен написать include_once, когда я мог просто написать только один раз, в первую очередь. Я уверен, что есть веская причина, по которой он появляется дважды, но я нахожу только один пример: кто-то печатает одно и то же, например, два раза, и я не понимаю, зачем вам нужно было набирать его дважды, но в том числе слово «_once», поэтому он запускается только один раз.

Благодарю.

2

Решение

Представьте, что вы включили файл, который объявляет переменную. Вы включили этот файл, потому что он является частью библиотеки, которую вам нужно использовать.

Теперь представьте, что вы включили другой файл, потому что вам нужна другая библиотека. Но что, если этот новый файл включает в себя тот же файл, который вы включили ранее, потому что вторая библиотека нуждается в первой библиотеке?

Тогда вы включили бы первый файл дважды, и вы даже не знали.

Вот почему.

И, кстати: require_once лучше, чем include_once.

5

Другие решения

Одним из примеров, когда файлы могут вызываться дважды, могут быть защищенные страницы или родительские страницы (информационные панели и т. Д.), Которые могут включать несколько «дочерних» страниц, которые могут уже содержать этот код.

Пример:

content1.php

<?php
include_once 'require_login.php';      //Protect content1.php
?>
<html>...

content2.php

<?php
include_once 'require_login.php';      //Protect content2.php
?>
<html>...

Теперь — родительская «панель инструментов» — давайте назовем это view_dashboard.php может включать несколько файлов, каждый из которых уже имеет копию одного и того же защитного скрипта require_login.php.

<?php
include_once 'require_login.php' //Protect the dashboard.
include 'content1.php'           //No conflict - thanks to include_once
include 'content2.php'           //No conflict - thanks to include_once
//...

include_once более медленный, чем include, поэтому используйте его экономно.

0

По вопросам рекламы [email protected]