Php подключить другой файл php

PHP5 Подключение

Инструкция include (или require) получает текст/код/разметку, который существует в указанном файле и копирует его в файл, который используется для подключения в заявлении.

Подключение файлов очень удобно, для включения PHP, HTML, или текста на несколько страниц сайта.

PHP Заявления include и require

Можно вставить содержимое одного PHP файла в другой файл PHP (сервер подключит его), с помощью инструкции include или require .

Заявления include и require , являются идентичными, за исключением неудачной ошибки:

  • require будет требовать, выполнит фатальную ошибку (E_COMPILE_ERROR) и остановить скрипт
  • include будет подключен, выполнит только предупреждения (E_WARNING) и сценарий будет продолжаться

Если, вы хотите продолжить выполнение скрипт дальше и показать потребителям выход, и если подключение отсутствует, используйте заявление include . В противном случае, в случае FrameWork, CMS, или сложное кодирование применения PHP, всегда использует заявление require для включения ключевого файла в поток выполнения. Это поможет избежать ущерб для безопасности вашего приложения и целостности, просто в случае того, если один ключевой файл случайно отсутствует.

В том числе файлы экономят много времени работы. Означает, что можно создать стандартные файлы «header», «footer» или «menu» для всех веб страниц. Затем, когда обновить, будет подключен файл «header».

Читайте также:  Тег IMG

Синтаксис

PHP Примеры include

Пример 1

Предположим, у нас есть стандартный файл нижнего колонтитула «footer.php», он выглядит так:

Чтобы подключить в файл «footer.php» на странице, используйте заявление include :

Пример

Добро пожаловать на мою домашнюю страницу!

Немного текста.

Еще немного текста.

Пример 2

Предположим у нас есть стандартное меню Файл «menu.php»:

Все страницы на веб сайте должны использовать файл «menu.php». Вот как это можно сделать (мы используем элемент a , чтобы меню легко можно было стилизовать с помощью CSS позже):

Пример

Добро пожаловать на мою домашнюю страницу!

Немного текста.

Еще немного текста.

Пример 3

Предположим у нас есть файл с названием «vars.php», с определенными переменными:

После этого, если мы подключаем файл «vars.php», переменные могут использоваться в подключающем файле:

Пример

Добро пожаловать на мою домашнюю страницу!

echo «У меня есть $color $car.»;
?>

PHP Заявление include или require ?

Заявление require , также используется для подключения файла в коде PHP.

Однако, есть одна большая разница между include и require ; когда в состав файла входит заявление include и PHP не может его найти, скрипт будет продолжать выполняться:

Пример

Добро пожаловать на мою домашнюю страницу!

echo «У меня есть $color $car.»;
?>

Если мы сделаем тот же пример, используя заявление require , то оператор echo не будет работать, так как выполнение скрипта не подключается после заявление require , возвращает фатальную ошибку:

Пример

Добро пожаловать на мою домашнюю страницу!

echo «У меня есть $color $car.»;
?>

require , когда файл требует приложение.

include , когда файл не требует приложение, продолжает подключение, даже если файл не найден.

Источник

Базовые возможности PHP

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

Для подключения файлов PHP предоставляет ряд возможностей.

Инструкция include

Инструкция include подключает в программу внешний файл с кодом php. Так, для примера определим файл welcome.php :

Здесь определена функция welcome , которая в качестве параметра принимает условное имя и использут его для вывода приветствия.

Теперь подключим данный файл в нашу программу, которая определена в другом файле в той же папке:

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

Конструкция include может использовать как относительные, так и абсолютные пути. Например, выше использовался относительный путь. Или, к примеру, если мы имеем следующую структуру

То чтобы подключить файл welcome.php из папки scripts , в файле index.php необходимо использовать следующий относительный путь:

include "scripts/welcome.php";

Если файл welcome.php располагается по полному пути C:\localhost\scripts\welcome.php , то также можно было бы использовать абсолютный — полный путь:

include "C:\localhost\scripts\welcome.php";

Инструкция include_once

Использование инструкции include имеет недостатки. Так, мы можем в разных местах кода неумышленно подключить один и тот же файл, что при выполнении кода вызовет ошибки.

Чтобы исключить повторное подключение файла, вместо инструкции include следует применять инструкцию include_once

И теперь, если мы подключим этот же файл с помощью include_once еще где-нибудь ниже, то это подключение будет проигнорировано, так как файл уже подключен в программу.

Инструкции require и require_once

Действие инструкции require подобно инструкции include: она также подключает внешний файл, вставляя в программу его содержимое. Только теперь, если данный файл не будет найден, действие программы прекратится (инструкция include в этом случае выбрасывает предупреждение):

И также если у нас в коде встретятся несколько инструкций require , которые подключают один и тот же файл, то интерпретатор выдаст ошибку. И также чтобы избежать данной ситуации, следует использовать инструкцию require_once :

Функция spl_autoload_register

В больших приложениях количество подключаемых файлов может быть довольно большим. Однако встроенная функция spl_autoload_register() в определенных ситуациях позволяет избежать большого количества инклудов. В качестве параметра она принимает функцию автозагрузки. Эта функция автоматически вызывается, когда в программе начинает использоваться неизвестный класс или интерфейс. И функция автозагруки пытается загрузить этот класс или интерфейс. В качестве параметра функция автозагрузки принимает название класса или интерфейса, которые надо загрузить.

Например, пусть у нас будет файл Person.php , в котором располагается класс Person :

name = $name; $this->age = $age; > function printInfo() < echo "Name: $this->name
Age: $this->age"; > > ?>

Обращаю внимание, что название файла соответствует названию класса.

Используем функцию автозагрузки для подключения подобного класса:

"; include $class . ".php"; > spl_autoload_register("my_autoloader"); $tom = new Person("Tom", 25); $tom->printInfo(); ?>

Функция spl_autoload_register() в качестве параметра принимает название функции автозагрузки — в данном случае это функция my_autoloader() . В качестве параметра она принимает название класса. Например, в данном случае используется класс Person, который в этом скрипте не определен. И когда программа встретит использование данного класса, она вызовет функцию my_autoloader() , в качестве параметра $class передаст в нее название класса Person.

Все действия функции автозагрузки мы определяем сами. В данном случае с помощью echo выводится некоторое диагностическое сообщение и подключается файл класса:

При этом в данном случае неважно какой класс, главное, чтобы он хранился в одноименном файле с расширением .php . В этом случае программа выведет следующее:

Вызов функции автозагрузки Name: Tom Age: 25

Источник

Оцените статью