История изменений
Исправление kostik87, (текущая версия) :
А ты в школе, институте, вообще в процессе работы не программировал / скрипты не писал?
В большинстве языков программирования присутствует обязательное предварительное объявление выше того к чему обращаешься ниже по коду, это касается не только функций / процедур, но иногда и переменных.
В строго типизированных языках переменные должны быть в начале объявлены с соответствующим типом, потом использованы.
Реализация функции должна быть описана выше её вызова, исключение может быть в виде необходимости выше вызова описать только объявление функции, с именем, типом передаваемых параметров, типом возвращаемого значения. Далее можно использовать её в вызовах, а реализация может быть описана ниже или вообще в другом подключаемом файле. А выше должны быть Include.
Конфиг nginx, apache или другого сервиса, который позволяет делать include это по сути описание конфигурации его работы с кучей секций и в процессе чтения блоков конфигурации они анализируются и интерпретируются построчно.
Поэтому важно в каком порядке подключаются и описаны соответствующие блоки.
Иначе ты мог бы в любом порядке напихать в конфигурационный файл что тебе угодно.
В случае декларирования простых переменных это ещё бы прошло до тех пор, пока ты в одной переменной не обратился к значение не объявленной.
Исходная версия kostik87, :
А ты в школе, институте, вообще в процессе работы не программировал / скрипты не писал?
В большинстве языков программирования присутствует обязательное предварительное объявление выше того к чему обращаешься ниже по коду, это касается не только функций / процедур, но иногда и переменных.
В строго типизированных языках переменные должны быть в начале объявлены с соответствующим типом, потом использованы.
Реализация функции должна быть описана выше её вызова, исключение может быть в виде необходимости выше вызова описать только объявление функции, с именем, типом передаваемых параметров, типом возвращаемого значение. Далее можно использовать её в вызовах, а реализация может быть описана ниже или вообще в другом подключаемом файле. А выше должны быть Include.
Конфиг nginx, apache или другого сервиса, который позволяет делать include это по сути описание конфигурации его работа и в процессе чтения блоков конфигурации они анализируются и интерпретируются построчно.
Поэтому важно в каком порядке подключаются и описаны соответствующие блоки.
Иначе ты мог бы в любом порядке напихать в конфигурационный файл что тебе угодно.
В случае декларирования простых переменных это ещё бы прошло до тех пор, пока ты в одной переменной не обратился к значение не объявленной.