0 added
0 removed
Original
2026-01-01
Modified
2026-02-21
1
<p>Вначале разберемся, зачем это надо. Писать весь код в одном скрипте невозможно, непрактично и попросту странно: он разрастется до гигантских размеров и станет неудобным. Придется тратить много времени на его доработку и изменение.</p>
1
<p>Вначале разберемся, зачем это надо. Писать весь код в одном скрипте невозможно, непрактично и попросту странно: он разрастется до гигантских размеров и станет неудобным. Придется тратить много времени на его доработку и изменение.</p>
2
<p><a>PHP</a>дает возможность дополнять программу новыми скриптами, фактически внешними кусками кода. Мы можем разложить все модули программы в разные папки, структурировать их и применять по необходимости.</p>
2
<p><a>PHP</a>дает возможность дополнять программу новыми скриптами, фактически внешними кусками кода. Мы можем разложить все модули программы в разные папки, структурировать их и применять по необходимости.</p>
3
<p>Рекомендуем использовать файлы с расширением .php. Во время выполнения php-скрипта происходит следующее:</p>
3
<p>Рекомендуем использовать файлы с расширением .php. Во время выполнения php-скрипта происходит следующее:</p>
4
<ol><li>В начале указанного файла прекращается парсинг в режиме PHP-кода.</li>
4
<ol><li>В начале указанного файла прекращается парсинг в режиме PHP-кода.</li>
5
<li>Он переключается в режим HTML.</li>
5
<li>Он переключается в режим HTML.</li>
6
<li>И продолжается снова в PHP, когда скрипт закончит работу.</li>
6
<li>И продолжается снова в PHP, когда скрипт закончит работу.</li>
7
</ol><p>Поэтому код внутри сценария, который нужно выполнить как PHP, мы оборачиваем корректными тегами начала и конца PHP-кода.</p>
7
</ol><p>Поэтому код внутри сценария, который нужно выполнить как PHP, мы оборачиваем корректными тегами начала и конца PHP-кода.</p>
8
<p>Чужое расширение у новых файлов - это еще и угроза безопасности. Присваивайте им любые нравящиеся имена, но всегда пишите .php. В противном случае мошенники могут запросить ваш файл, и сервер вернет его код.</p>
8
<p>Чужое расширение у новых файлов - это еще и угроза безопасности. Присваивайте им любые нравящиеся имена, но всегда пишите .php. В противном случае мошенники могут запросить ваш файл, и сервер вернет его код.</p>
9
<p>Присоединить его можно четырьмя способами:</p>
9
<p>Присоединить его можно четырьмя способами:</p>
10
<ol><li>include;</li>
10
<ol><li>include;</li>
11
<li>require;</li>
11
<li>require;</li>
12
<li>include_once;</li>
12
<li>include_once;</li>
13
<li>require_once.</li>
13
<li>require_once.</li>
14
</ol><p>Все это - особые языковые конструкции PHP для расширения его частей. Расскажем подробнее о каждой: какова разница между ними и в каких условиях использовать.</p>
14
</ol><p>Все это - особые языковые конструкции PHP для расширения его частей. Расскажем подробнее о каждой: какова разница между ними и в каких условиях использовать.</p>
15
<p>Если файл, который присоединили с помощью этой конструкции, по какой-либо причине не сможет подключиться, мы просто получим предупреждение - Warning. Если его проигнорировать, выполнение скрипта в этом файле не завершится.</p>
15
<p>Если файл, который присоединили с помощью этой конструкции, по какой-либо причине не сможет подключиться, мы просто получим предупреждение - Warning. Если его проигнорировать, выполнение скрипта в этом файле не завершится.</p>
16
<p>Команда include используется для файлов, важность которых некритична. Мы запишем в историю, что один не подключился - "обратите внимание". Но работа программы продолжится без него.</p>
16
<p>Команда include используется для файлов, важность которых некритична. Мы запишем в историю, что один не подключился - "обратите внимание". Но работа программы продолжится без него.</p>
17
<p>Предположим, у нас есть файл<em> Variable.php</em>, а в нем следующий код:</p>
17
<p>Предположим, у нас есть файл<em> Variable.php</em>, а в нем следующий код:</p>
18
<p>Подключаем его в файле<em>index.php:</em></p>
18
<p>Подключаем его в файле<em>index.php:</em></p>
19
<?php for($i=0;$i<2;$i++){ include ("Variable.php"); echo 'Значение переменной - '.$count.' '; $count++; }<p>Такой код выведет следующее:</p>
19
<?php for($i=0;$i<2;$i++){ include ("Variable.php"); echo 'Значение переменной - '.$count.' '; $count++; }<p>Такой код выведет следующее:</p>
20
Значение переменной -1 Значение переменной -1 <p>При ошибочном подключении</p>
20
Значение переменной -1 Значение переменной -1 <p>При ошибочном подключении</p>
21
<?php for($i=0;$i<2;$i++){ include ("11Variable.php"); echo 'Значение переменной - '.$count.' '; $count++; }<p>Такой код выведет следующее:</p>
21
<?php for($i=0;$i<2;$i++){ include ("11Variable.php"); echo 'Значение переменной - '.$count.' '; $count++; }<p>Такой код выведет следующее:</p>
22
Значение переменной - Значение переменной -1 <p>Если используем require и файл при этом не подключится, то выполнение скрипта завершится фатальной ошибкой. Например, приостановится загрузка страницы сайта.</p>
22
Значение переменной - Значение переменной -1 <p>Если используем require и файл при этом не подключится, то выполнение скрипта завершится фатальной ошибкой. Например, приостановится загрузка страницы сайта.</p>
23
<p>Эта команда применяется для тех файлов, подключение которых принципиально. Без них работа программы невозможна, поэтому она остановится.</p>
23
<p>Эта команда применяется для тех файлов, подключение которых принципиально. Без них работа программы невозможна, поэтому она остановится.</p>
24
<p>Процесс аналогичен инструкции<em>include</em>. При ошибочном подключении код выглядит так:</p>
24
<p>Процесс аналогичен инструкции<em>include</em>. При ошибочном подключении код выглядит так:</p>
25
<?php for($i=0;$i<2;$i++){ require ("11Variable.php"); echo 'Значение переменной - '.$count.' '; $count++; }<p>Он прекратит работу на первой итерации цикла после попытки подключения файла.</p>
25
<?php for($i=0;$i<2;$i++){ require ("11Variable.php"); echo 'Значение переменной - '.$count.' '; $count++; }<p>Он прекратит работу на первой итерации цикла после попытки подключения файла.</p>
26
<p>Конструкция include с дополнением _once означает, что этот файл можно подключить только единожды. Команды без суффикса _once заставляют файл подключаться раз, второй, третий. Если объявляем директиву include_once, то он используется один раз. Это немного экономит место.</p>
26
<p>Конструкция include с дополнением _once означает, что этот файл можно подключить только единожды. Команды без суффикса _once заставляют файл подключаться раз, второй, третий. Если объявляем директиву include_once, то он используется один раз. Это немного экономит место.</p>
27
<p>Пример инструкции:</p>
27
<p>Пример инструкции:</p>
28
<?php for($i=0;$i<2;$i++){ include_once ("Variable.php"); echo 'Значение переменной - '.$count.' '; $count++; }<p>Такой код выведет следующее:</p>
28
<?php for($i=0;$i<2;$i++){ include_once ("Variable.php"); echo 'Значение переменной - '.$count.' '; $count++; }<p>Такой код выведет следующее:</p>
29
Значение переменной -1 Значение переменной -2 <p>Отличается от require только отношением к количеству подключений скрипта. В коде большой программы может находиться много цепочных подключений, а внутри них могут содержаться еще другие файлы. Если использовать команду include или require, то каждый раз будет постоянно подключаться вся эта сложная цепочка.</p>
29
Значение переменной -1 Значение переменной -2 <p>Отличается от require только отношением к количеству подключений скрипта. В коде большой программы может находиться много цепочных подключений, а внутри них могут содержаться еще другие файлы. Если использовать команду include или require, то каждый раз будет постоянно подключаться вся эта сложная цепочка.</p>
30
<p>Благодаря директиве<em>_once</em>файл хранится с пометкой, что он уже применялся. Мы его больше не трогаем и не используем.</p>
30
<p>Благодаря директиве<em>_once</em>файл хранится с пометкой, что он уже применялся. Мы его больше не трогаем и не используем.</p>
31
<p>Любой подключенный файл имеет ту же область видимости, что и строка, где мы указали одну из директив. Если мы объявили ее посередине файла, то область видимости будет глобальной. Если внутри функции - локальной.</p>
31
<p>Любой подключенный файл имеет ту же область видимости, что и строка, где мы указали одну из директив. Если мы объявили ее посередине файла, то область видимости будет глобальной. Если внутри функции - локальной.</p>
32
<p>Мы рассмотрели все четыре возможных варианта, как подключить PHP-файл с целью расширения программы. Оптимальные среди них - конструкции с суффиксом _once.</p>
32
<p>Мы рассмотрели все четыре возможных варианта, как подключить PHP-файл с целью расширения программы. Оптимальные среди них - конструкции с суффиксом _once.</p>
33
<p>Без<em>_once</em>происходит постоянное переопределение переменных. Оно может привести к алгоритмическим ошибкам. Еще возможна ошибка при вызове функции, которая находится в дважды подключенном файле. Поэтому наш выбор -<em>include_once</em>и <em>require_once</em>в зависимости от важности файлов для работы программы. Инструкции с суффиксами помогают избежать ошибок, связанных с повторным подключением.</p>
33
<p>Без<em>_once</em>происходит постоянное переопределение переменных. Оно может привести к алгоритмическим ошибкам. Еще возможна ошибка при вызове функции, которая находится в дважды подключенном файле. Поэтому наш выбор -<em>include_once</em>и <em>require_once</em>в зависимости от важности файлов для работы программы. Инструкции с суффиксами помогают избежать ошибок, связанных с повторным подключением.</p>
34
<p>Чтобы отличать основные файлы от подключаемых, вторые можно переименовать. К примеру, мы пишем сайт на PHP. Добавим<em>.inc</em>к основным файлам<em>header.php</em>,<em>footer.php</em>и другим. Получим названия вида<em>header.inc.php, footer.inc.php</em>и тому подобные. За счет этого в папке вы сразу поймете, какие скрипты основные, а какие - второстепенные.</p>
34
<p>Чтобы отличать основные файлы от подключаемых, вторые можно переименовать. К примеру, мы пишем сайт на PHP. Добавим<em>.inc</em>к основным файлам<em>header.php</em>,<em>footer.php</em>и другим. Получим названия вида<em>header.inc.php, footer.inc.php</em>и тому подобные. За счет этого в папке вы сразу поймете, какие скрипты основные, а какие - второстепенные.</p>
35
<p>Добавлять<em>.inc</em>нужно исключительно для визуального оформления: никакой функциональной нагрузки прием не несет. Но удобство и структура важны в программировании, поэтому старайтесь все делать в едином стиле.</p>
35
<p>Добавлять<em>.inc</em>нужно исключительно для визуального оформления: никакой функциональной нагрузки прием не несет. Но удобство и структура важны в программировании, поэтому старайтесь все делать в едином стиле.</p>