include
Оператор include дозволяє включати код, що міститься у вказаному файлі, і виконувати його стільки разів, скільки програма зустрічає цей оператор. Включення може здійснюватися будь-яким з перерахованих способів:
include 'ім'я_файлу';
include $file_name;
include ("ім'я_файлу");
Нехай у файлі params.inc у нас зберігається набір якихось параметрів і функцій. Кожного разу, коли нам потрібно буде використовувати ці параметри (функції), ми будемо додавати до тексту нашої основної програми команду include 'params.inc'.
Приклад. Використання оператора включення include
params.inc
<? Php
$User = "Вася";
$Today = date ("d.m.y");
/ * Функція date () повертає дату
і час (тут - дату в форматі
день.місяць.рік) * /
?>
include.php
<? Php
include ("params.inc");
/* Змінні $User і $Today задані у файлі
params.inc. Тут ми теж можемо ними
користуватися завдяки команді
include ("params.inc") * /
echo "Привіт, $User! <br>";
// Виведе "Привіт, Вася!"
echo "Сьогодні $Today";
// Виведе, наприклад, "Сьогодні 24.01.11"
?>
Зауважимо, що використання оператора include еквівалентно простий вставці змістовної частини файлу params.inc в код програми include.php. Справа в тому, що в момент вставки файлу відбувається перемикання з режиму обробки PHP в режим HTML. Тому код всередині файлу, який потрібно обробити як PHP-скрипт, повинен бути укладений у відповідні теги.
Пошук файлу для вставки відбувається за такими правилами.
- Спочатку ведеться пошук файлу в include_path поточної робочої директорії.
- Якщо файл не знайдений, то пошук виконується в include_path директорії поточного скрипта.
- Параметр include_path, визначається у файлі налаштувань PHP, задає імена директорій, в яких потрібно шукати файли, що включаються.
Наприклад, ваш include_path це поточна робоча директорія - / www /. В основний файл include.php ви включаєте файл my_dir / a.php, який у свою чергу включає b.php. Тоді парсер насамперед шукає файл b.php в директорії / www /, і якщо такого немає, то в директорії / www / my_dir /.
Якщо файл включений з допомогою include, то код що міститься в ньому успадковує область видимості змінних. Будь-які змінні включеного файлу будуть доступні в файлі з цього рядка і далі. Відповідно, якщо include з'являється всередині функції файлу, який викликає, то код, що міститься в включеному файлі, буде вести себе так, як ніби він був визначений всередині функції. Таким чином, він успадкує область видимості цієї функції. Хоча ми і не знайомилися ще з поняттям функції, все ж наводимо тут ці відомості в розрахунку на інтуїтивне його розуміння.
Приклад. Область видимості при використанні include .Нехай файл для вставки params.inc залишиться таким же, а include.php буде наступним:
<? Php
function Footer () {
// Оголошуємо функцію з ім'ям Footer
include ("params.inc");
/* Включаємо файл params.inc.
Тепер його змінними можна користуватися,
але тільки всередині функції */
$str = "Сьогодні: $today <br>";
$str .= "<a
href = 'mailto: help@intuit.ru'> Сторінку
створив $user ";
echo "$str";
}
Footer();
// Викликаємо функцію Footer (). Отримаємо:
// Сьогодні: 08.07.05
// Сторінку створив Вася
echo "$user, $today";
// Нічого не виведе, так як
// Ці змінні видно тільки
// Всередині функції
?>
Крім локальних файлів, за допомогою include можна включати і зовнішні файли, вказуючи їх url-адреси. Дана можливість контролюється директивою url_fopen_wrappers у файлі налаштувань PHP і за замовчуванням, як правило, включена. Але у версіях PHP для Windows до PHP 4.3.0 ця можливість не підтримується зовсім, незалежно від url_fopen_wrappers.
include () - це спеціальна мовна конструкція, тому при використанні всередині блоків її потрібно укладати у фігурні дужки.
Приклад. Використання include ()
<? Php
/* Це невірний запис. Отримаємо помилку.
Ми ж вставляємо не одну команду,
а декілька, вони тільки записані
в іншому файлі */
if ($condition) include ("first.php");
else include ("second.php");
// А ось так правильно.
if ($ condition) {include ("first.php");}
else {include ("second.php");}
?>
При використанні include можливо два види помилок - помилка вставки (наприклад, не можна знайти вказаний файл, невірно написана сама команда вставки тощо) або помилка виконання (якщо помилка міститься у файлі, що вставляється). У будь-якому випадку при помилці в команді include виконання скрипта не завершується.