Php require
Содержание:
- Пример использования команды include
- require ve require_once Kullanımı
- PHP include vs. require
- Различия `include`, `include_once`, `require`, `require_once`
- Folders as Modules
- Example with a passphrase
- Ответ 2
- PHP include & variable scopes
- Summary
- PHP include and require Statements
- Анализируем
- Для чего используется include!?
- Другие решения
- Разница между require и include
- Как подключить PHP из другой директории
- Example with RS256 (openssl)
- Как ещё можно использовать require и include
- include ve include_once Kullanımı
- Including a PHP File into Another PHP File
- Выводы о необходимости использования include
Пример использования команды include
В предыдущей статье я рассказывал о блочной вёрстке сайта и приводил в пример простейшую страницу (документ index.html и привязанный к нему файл style.css).
Сейчас мы разделим документ index.html на несколько файлов, каждый из которых будет содержать свою часть страницы, что поможет ещё сильней разделить код, улучшить структуру шаблона и, по сути, сделать страницу динамической. Для этой цели мы будем использовать язык PHP, а точнее лишь одну его директиву — функцию include(), которая включает один файл в другой.
1. Смените разрешение созданного в статье о блочной вёрстке файла index с .html на .php, чтобы документ назывался index.php. Тип файла .PHP указывает серверу, что документ был написан или использует вставки на одноимённом языке программирования.
2. В папке со страницей создайте директорию blocks.
3. Всю вспомогательную информацию (верх, низ, навигацию и боковую панель сайта) вынесем в отдельные файлы, которые разместим в папке blocks.
Итак, создайте в каталоге blocks четыре файла: header.php, navigation.php, sidebar.php и footer.php. Заполните файлы кодом.
header.php:
<div id="header"> <h2>header (шапка сайта)</h2> </div>
navigation.php
<div id="navigation"> <h2>Блок навигации</h2> </div>
sidebar.php
<div id="sidebar"> <h2>Левая панель</h2> </div>
footer.php
<div id="clear"> </div> <div id="footer"> <h2>footer (низ сайта)</h2> </div>
4. Проверьте структуру папки шаблона. В корне должны находиться файлы index.php, style.css и директория blocks.
Структура папки blocks должна быть такой.
5. В файле index.php удалите существующий код и напишите новый:
<!DOCTYPE html> <html> <head> <title>Блочная вёрстка</title> <link rel="stylesheet" type="text/css" href="style.css"> </head> <body> <div id="container"> <?php include ("blocks/header.php");?> <?php include ("blocks/navigation.php");?> <?php include ("blocks/sidebar.php");?> <div id="content"> <h2>Основной контент страницы</h2> </div> <?php include ("blocks/footer.php");?> </div> </body> </html>
В браузере файл index.php выглядит точно так же, как и раньше, но структура шаблона при этом полностью изменилась. О том, что получилось, поговорим потом, а сейчас ответим на вопрос о загадочных командах вида <?php include («имя_файла»);?>.
Как и HTML-код, код PHP тоже имеет своё обозначение начала и конца. Так вот начинать PHP-вставку нужно командой <?php, а заканчивать строкой ?>. Между этими командами пишется основной код. В нашем случае это всего лишь одна команда — include.
Функция include() вставляет в файл код из другого файла, давая возможность хранить разные части страницы в разных документах, тем самым надёжно отделяя их друг от друга.
В результате выполненных действий мы получили динамическую страницу index.php, части которой подгружаются из разных файлов. Благодаря этому можно создавать другие страницы, точно так же подгружая в них вспомогательные элементы из файлов папки blocks.
Такой подход хорош тем, что если вы захотите на сайте в 20-30 страниц изменить, скажем, название пункта меню, то в шаблоне с только что созданной структурой понадобится внести правки только в один файл — blocks/navigation.php, и меню изменится сразу на всех страницах, в которые он включен. Если же сайт был бы статическим, то для смены названия одного пункта меню вам пришлось бы вносить изменения в каждую из 20-30 страниц. Разница очевидна.
Дата размещения/обновления информации: 29.04.2021 г.
Сообщить об ошибке
require ve require_once Kullanımı
include ve include_once fonksiyonlarında parametre olarak verdiğimiz dosya yolu bulunamıyorsa eğer bize warning tarzında hata veriyordu. require ve require_once de parametre olarak verdiğimiz dosya yolu bulunamassa eğer fatal error verir bize.
Kullanım Şekilleri:
require ve require_once kullanımı
<?php
require «header.php»;
require («header.php»);
require_once «header.php»;
require_once («header.php»);
?>
1 2 3 4 5 6 7 8 |
<?php require»header.php»; require(«header.php»); require_once»header.php»; require_once(«header.php»); |
Yukarıdaki 4 kullanımında birbirinden farkı yoktur. Hepsi sayfaya bir php dosyasını dahil etmek istediğimizde kullanılır.
Örneğin: bir adet header.php dosyamız ve bir adette index.php dosyamız olsun index dosyamızda header.php yi çağıralım.
header.php dosyamız:
header.php
<?php
echo «Burası Header Dosyasının İçeriğidir.»;
?>
1 2 3 4 5 |
<?php echo»Burası Header Dosyasının İçeriğidir.»; ?> |
index.php dosyamız:
<?php
require «header.php»;
echo «Burasıda index.php dosyasının içeriğidir.»;
?>
1 2 3 4 5 |
<?php require»header.php»; echo»Burasıda index.php dosyasının içeriğidir.»; ?> |
sayfaları oluşturup index.php ye girdiğimizde ekranda header.php ve index.php nin içeriğini görmüş olacağız.
Not: require yerine require_once de kullanabilirdik.
PHP include vs. require
The statement is also used to include a file into the PHP code.
However, there is one big difference between include and require; when a
file is included with the statement and PHP cannot find it, the script
will continue to execute:
Example
<html>
<body>
<h1>Welcome to my home page!</h1>
<?php include ‘noFileExists.php’;
echo «I have a $color $car.»;?>
</body>
</html>
If we do the same example using the statement, the
echo statement will not be executed because the script execution dies after the
statement returned a fatal error:
Example
<html>
<body>
<h1>Welcome to my home page!</h1>
<?php require ‘noFileExists.php’;
echo «I have a $color $car.»;?>
</body>
</html>
Use when the file is required by the application.
Use when the file is not required and application should continue when file is not found.
Различия `include`, `include_once`, `require`, `require_once`
Переименуем файл «1.php»в файл «2.php» и обратимся к «index.php»:
В итоге получаем ошибку
Но обратите внимание на то, что после вывода ошибки код PHP все равно продолжил выполнение и вывел `End`. Заменим `include` на `require` и запустим на выполнение
В итоге видим похожие ошибки, но не видим вывода `End` в конце: после ошибки код php прекратил свою работу.
Разница между `include` и `require` заключается в том, что при подключении файла PHP первая инструкция позволяет продолжить выполнения скрипта, если не найден файл, а `require` завершает его, выводя фатальную ошибку.
Теперь рассмотрим отличие инструкций `require` и `require_once`. Внесем небольшие правки в наши файлы. Вот новый «index.php»:
<!doctype html> <html lang="ru"> <head> <meta charset="UTF-8"> <title>Document<title> <head> <body> <?php $say = 'Hello world!'; require 'test/2.php'; require 'test/2.php'; require 'test/2.php'; require 'test/2.php'; echo "<p>End<p>"; ?> <body> <html>
И файл «2.php»:
<?php echo "<h1>{$say}</h1>";
Запускаем:
Как видно на скриншоте, с помощью `require` мы успешно подключили файл несколько раз. Снова внесем изменение в файлы. Новый файл «index.php»:
<!doctype html> <html lang="ru"> <head> <meta charset="UTF-8"> <title>Document<title> <head> <body> <?php require 'test/2.php'; require 'test/2.php'; require 'test/2.php'; require 'test/2.php'; echo "<p>End<p>"; ?> <body> <html>
И новый файл «2.php» — на этот раз объявим там функцию:
<?php echo '<p>Im included</p>'; function sayHello($say) { echo "<h1>{$say}</h1>"; }
Результат выполнения:
Второе подключение файла «2.php» приводит к ошибке, как раз потому что в этом файле происходит объявление функции. А в PHP-скрипте двух одинаковых функций быть не должно.
Теперь заменим все `require` на `require_once` и запустим снова:
Ура, работает! Но обратим внимание на то, что файл подключился только один раз. Теперь вновь переименуем файл `2.php` в `1.php` и запустим «index.php»
Теперь вновь переименуем файл `2.php` в `1.php` и запустим «index.php».
`Require_once`, так же как и `require` завершает выполнение скрипта, если не найден файл указанный для подключения. Заменим `require_once` на `include_once`:
Ошибок стало больше, но код по-прежнему отработал до конца: end в конце картинки это подтверждает. Внесем правки в «index.php»:
<!doctype html> <html lang="ru"> <head> <meta charset="UTF-8"> <title>Document<title> <head> <body> <?php include_once 'test/1.php'; include_once 'test/1.php'; include_once 'test/1.php'; include_once 'test/1.php'; echo "<p>End<p>"; ?> <body> <html>
Запустим код:
Folders as Modules
It is convenient to organize programs and libraries into self-contained
directories, and then provide a single entry point to that library.
There are three ways in which a folder may be passed to as
an argument.
START OF NOT IMPLEMENTED
The first is to create a file in the root of the folder,
which specifies a module. An example package.json file might
look like this:
If this was in a folder at , then
would attempt to load
.
This is the extent of php_require’s awareness of package.json files.
END OF NOT IMPLEMENTED
If there is no package.json file present in the directory, then php_require
will attempt to load an file out of that
directory. For example, if there was no package.json file in the above
example, then would attempt to load:
./some-library/index.php
Example with a passphrase
use Firebase\JWT\JWT; use Firebase\JWT\Key; // Your passphrase $passphrase = ''; // Your private key file with passphrase // Can be generated with "ssh-keygen -t rsa -m pem" $privateKeyFile = '/path/to/key-with-passphrase.pem'; // Create a private key of type "resource" $privateKey = openssl_pkey_get_private( file_get_contents($privateKeyFile), $passphrase ); $payload = array( "iss" => "example.org", "aud" => "example.com", "iat" => 1356999524, "nbf" => 1357000000 ); $jwt = JWT::encode($payload, $privateKey, 'RS256'); echo "Encode:\n" . print_r($jwt, true) . "\n"; // Get public key from the private key, or pull from from a file. $publicKey = openssl_pkey_get_details($privateKey); $decoded = JWT::decode($jwt, new Key($publicKey, 'RS256')); echo "Decode:\n" . print_r((array) $decoded, true) . "\n";
Ответ 2
Используется следующим образом:
requireкогда файл требуется вашему приложению, например, шаблон важного сообщения или файл, содержащий переменные конфигурации, без которых приложение не работает.
require_onceкогда файл содержит контент, который может вызвать ошибку при последующем включении, например, function important() { /*импорт кода */} — это определенно необходимо в вашем приложении, но, поскольку функции не могут быть повторно объявлены, не следует включать их снова.
includeкогда файл не требуется и поток приложения должен продолжаться, если он не найден, например, это отлично подходит для шаблонов, ссылающихся на переменные из текущей области или чего-то еще.
include_onceнеобязательные зависимости, которые могут вызвать ошибки при последующей загрузке или, возможно, удаленное включение файла, которое вы не хотите повторять дважды из-за накладных расходов HTTP.
Но в основном вам решать, когда использовать каждый из вариантов.
Ответ 3
Я предлагаю просто использовать require_once в 99,9% случаев.
Использование require или include вместо этого подразумевает, что ваш код не может быть повторно использован в других местах, т. е. что скрипты, которые вы подключаете, действительно выполняют код, а не делают доступными класс или некоторые библиотеки функций.
Если вы требуете/включаете код, который выполняется на месте, то это процедурный код, и вам нужно познакомиться с новой парадигмой. Например, объектно-ориентированное программирование, программирование на основе функций или функциональное программирование.
Если вы уже занимаетесь ООП или функциональным программированием, то использование include_once в основном будет откладывать поиск ошибок в стеке. Хотите ли вы знать, что функция do_cool_stuff() недоступна, когда вы собираетесь обратиться к ней позже или в тот момент, когда вы ожидаете, что она будет доступна, требуя библиотеку? Как правило, лучше сразу узнать, что что-то нужное и ожидаемое недоступно, поэтому просто используйте require_once.
В качестве альтернативы в современном ООП просто автоподключайте свои классы при использовании.
PHP include & variable scopes
When you include a file, all the variables defined in that file inherit the variable scope of the line on which the include occurs.
1) Including outside a function example
For example, the following defines the and variables in the :
When you include the in the file, the and variables become the global variables in the file. And you can use them as follows:
2) Including within a function example
However, if you include a file in a function, the variables from the included file are local to that function. See the following example:
In this example, we include the inside the function. Therefore, the and variables from the are local to the .
It’s important to note that all functions, classes, interfaces, and traits defined in the included file will have a global scope.
Summary
- Single HTML code such as headers, footers, side bars etc. can be shared across many pages. This makes it easy to update the website by just updating a single file.
- PHP code such as database configuration settings, custom functions etc. can be shared across many pages ensuring the website/application uses the same settings.
- Comments are used to help understand source code. They are for human understanding
- Single line comment statements start with double forward slashes //.
- Multi-line comment statements are enclosed between /* statements */.
- The “include, include_once, require and require_once” statements are used to include files.
- Include_once/require_once is ignored if the requested file has already been included using any of the four statements.
- The “include” statement issues a warning and continues with the execution if the requested file has not been found.
- The require statement raises a fatal error and stops the script execution.
- The “include” statement should be in most cases except in situations where without the requested file to be include, the entire script cannot run.
PHP include and require Statements
It is possible to insert the content of one PHP file into another PHP file (before the
server executes it), with the include or require statement.
The include and require statements are identical, except upon failure:
- will produce a fatal error (E_COMPILE_ERROR) and stop the script
- will only produce a warning (E_WARNING) and the script will continue
So, if you want the execution to go on and show users the output, even if the
include file is missing, use the include statement. Otherwise, in case of FrameWork, CMS, or a
complex PHP application coding, always use the require statement to include a key file to the
flow of execution. This will help avoid compromising your application’s security
and integrity, just in-case one key file is accidentally missing.
Including files saves a lot of work. This means that
you can create a standard header, footer, or menu file for all your web pages.
Then, when the header needs to be updated, you can only
update the header include file.
Анализируем
Смотрим по порядку какие преобразования произойдут с путем
Первое что происходит со строкой, это к ней добавляется значение из include_path:
Затем строка ускается до MAXPATHLEN (допустим 4096):
Здесь видно зачем нужно было добавлять еще один слеш (иначе бы строка обрезалась до слеша). Теперь производится нормализация этой строки, сначала убераются лишние слеши:
Теперь самое интересное! Далее при нормализации убраются все повторяющиеся «/.»
В итоге получаем правильный путь до нужного нам файла, и этот путь уже передастся в инклуд, и приинклудится нужный нам файл.
То есть вот так мы приинклудим наш файл «test.php» успешно.
А значит уязвимость есть и не теоритическая. В итоге мой клиент проспорил, а я выйграл спор и 10 рублей на которые мы поспорили
Конечно, помимо 10 рублей я выйграл еще и доверие и уважение в глазах клиента, что тоже не мало важно
Для чего используется include!?
Давайте я расскажу на собственном примере, «для чего используется include» и сразу станет все понятно.
Мой сайт состоит, если грубо, то из 5 файлов:
Для чего используется include!?
Главный файл «__NEW_CONFIG.php», с которого загружается весь сайт.
Есть страница, https://dwweb.ru/blog.html, при загрузке которой требуется получить данные базы данных и вывести список страниц. Поэтому инклудится файл «__ALL_ROTATE.php»(который обрабатывает эти данные) по условию if($its_blog) + аналогично со страницами тем(например) https://dwweb.ru/?tema=html
Для чего используется include!?
Во всех других случаях, выводить и обрабатывать базу не требуется. Но если мы посмотрим на «__ALL_TiTLES.php», то он загружается в любом случае, потому, что он обрабатывает, title, description и keywords — которые нужны на каждой странице.
У меня каждая страница лежит в отдельном файле, и он загружается тогда, когда в адресной строке — адрес данной страницы, тоже с помощью include:
Для чего используется include!?
Надеюсь принцип понятен, если нет то:
Другие решения
Некоторые вещи, которые следует иметь в виду, когда требуются файлы:
- Вы должны иметь правильный путь.
- Файл должен иметь разрешения на чтение.
- Зависимости должны быть загружены в первую очередь. Если класс расширяет реферат, имеет интерфейсы или признаки, они должны быть загружены до достижения объявления класса. Аналогично, если зависимости также имеют зависимости, они также должны быть загружены до загрузки самих зависимостей.
Согласно вашей информации, № 3, кажется, ваша проблема. Родительский класс должен быть загружен до объявления дочернего класса.
хорошая практика, чтобы сделать это проще:
- Объявите константы, которые сопоставляются с корнем вашего приложения, библиотеками и т. Д., Прежде чем вам потребуются различные файлы, поэтому вам не потребуется использовать сложную навигацию для их поиска.
- Используйте автозагрузчик, предпочтительно psr-0 или psr-4-совместимый.
Быстрый способ проверки (достаточно надежно):
Лучший способ:
Разница между require и include
Есть ещё одна директива для подключения файлов – require. Если вы сейчас замените include на require, вот так:
то ничего по сути не изменится – код отработает точно так же.
Однако между ними всё же есть разница. Она заключается в том, что если подключаемый файл не найден, то при include возникнет warning, но программа продолжит своё выполнение. А если подключаемого не окажется при попытке выполнить require, то произойдёт фатальная ошибка и скрипт завершит свою работу.
Давайте снова вернём директиву include, переименуем functions.php в abc.php и попробуем обновить страничку.
Получили ошибки разных типов. Первая из них – warning, сообщающий о том, что файл functions.php не найден. Но скрипт продолжил своё выполнение, а затем упал на строке 10 из-за того, что не была найдена функция isEven(), а это уже fatal error.
Давайте теперь заменим include на require и снова обновим страничку.
Теперь мы получили fatal error сразу на второй строке, приложение завершило свою работу на этом месте.
То есть require нужно использовать там, где подключение файла обязательно. Например, файл с конфигурацией, или необходимыми функциями.
А include можно использовать для файлов, которые необязательно должны быть подключены (если без них можно продолжать выполнение кода). Пример: файл с кодом баннерной рекламы. Да, реклама не покажется, но зато сайт продолжит свою работу.
Как подключить PHP из другой директории
Теперь изменим условия. Переместим файл `1.php` в папку с названием `test`, которую создадим в директории с файлом `index.php`.
Поскольку подключаемый файл находится в другой директории, для его подключения следует указать сначала папку, в которой он находится, а потом и сам файл.
Далее изменим код в `index.php`.
<?php include 'test/1.php'; ?>
Строка, что мы указываем после инструкции `include`, это путь к файлу. Он может быть относительный (к файлу, где используется подключение) и абсолютным (от корня файловой системы). В приложениях рекомендуются использовать относительные пути.
Между папками, файлами и другими папками в пути устанавливаются разделители. Универсальный разделитель для различных операционных систем – `/`.
Если в папке `test` у нас была бы еще папка `lot`, в которой лежал файл `1.php`, то относительный путь выглядел бы так: ‘test/lot/1.php’.
С путями немного разобрались – возвращаемся к инструкциям. Произведем изменения в файлах. Файл «index.php»:
<!doctype html> <html lang="ru"> <head> <meta charset="UTF-8"> <title>Document<title> <head> <body> <?php $say = 'Hello world!'; include 'test/1.php'; echo $test; echo "<p>End<p>"; ?> <body> <html>
Файл `1.php`:
<?php echo "<h1>{$say}</h1>"; $test = 'TEst connect';
Посмотрим на изменение в выводе:
Example with RS256 (openssl)
use Firebase\JWT\JWT; use Firebase\JWT\Key; $privateKey = <<<EOD -----BEGIN RSA PRIVATE KEY----- MIICXAIBAAKBgQC8kGa1pSjbSYZVebtTRBLxBz5H4i2p/llLCrEeQhta5kaQu/Rn vuER4W8oDH3+3iuIYW4VQAzyqFpwuzjkDI+17t5t0tyazyZ8JXw+KgXTxldMPEL9 5+qVhgXvwtihXC1c5oGbRlEDvDF6Sa53rcFVsYJ4ehde/zUxo6UvS7UrBQIDAQAB AoGAb/MXV46XxCFRxNuB8LyAtmLDgi/xRnTAlMHjSACddwkyKem8//8eZtw9fzxz bWZ/1/doQOuHBGYZU8aDzzj59FZ78dyzNFoF91hbvZKkg+6wGyd/LrGVEB+Xre0J Nil0GReM2AHDNZUYRv+HYJPIOrB0CRczLQsgFJ8K6aAD6F0CQQDzbpjYdx10qgK1 cP59UHiHjPZYC0loEsk7s+hUmT3QHerAQJMZWC11Qrn2N+ybwwNblDKv+s5qgMQ5 5tNoQ9IfAkEAxkyffU6ythpg/H0Ixe1I2rd0GbF05biIzO/i77Det3n4YsJVlDck ZkcvY3SK2iRIL4c9yY6hlIhs+K9wXTtGWwJBAO9Dskl48mO7woPR9uD22jDpNSwe k90OMepTjzSvlhjbfuPN1IdhqvSJTDychRwn1kIJ7LQZgQ8fVz9OCFZ/6qMCQGOb qaGwHmUK6xzpUbbacnYrIM6nLSkXgOAwv7XXCojvY614ILTK3iXiLBOxPu5Eu13k eUz9sHyD6vkgZzjtxXECQAkp4Xerf5TGfQXGXhxIX52yH+N2LtujCdkQZjXAsGdm B2zNzvrlgRmgBrklMTrMYgm1NPcW+bRLGcwgW2PTvNM= -----END RSA PRIVATE KEY----- EOD; $publicKey = <<<EOD -----BEGIN PUBLIC KEY----- MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC8kGa1pSjbSYZVebtTRBLxBz5H 4i2p/llLCrEeQhta5kaQu/RnvuER4W8oDH3+3iuIYW4VQAzyqFpwuzjkDI+17t5t 0tyazyZ8JXw+KgXTxldMPEL95+qVhgXvwtihXC1c5oGbRlEDvDF6Sa53rcFVsYJ4 ehde/zUxo6UvS7UrBQIDAQAB -----END PUBLIC KEY----- EOD; $payload = array( "iss" => "example.org", "aud" => "example.com", "iat" => 1356999524, "nbf" => 1357000000 ); $jwt = JWT::encode($payload, $privateKey, 'RS256'); echo "Encode:\n" . print_r($jwt, true) . "\n"; $decoded = JWT::decode($jwt, new Key($publicKey, 'RS256')); /* NOTE: This will now be an object instead of an associative array. To get an associative array, you will need to cast it as such: */ $decoded_array = (array) $decoded; echo "Decode:\n" . print_r($decoded_array, true) . "\n";
Как ещё можно использовать require и include
Помимо того, что можно подключать файлы с PHP-кодом, можно также подключать файлы, содержащие какой-то текст, или в частности HTML-код.
Зелёным цветом я выделил ту часть странички, которая будет изменяться.
Давайте для начала сверстаем наш шаблон. Надеюсь, все прошли курс по HTML. У меня получился вот такой код:
Вот такая получилась у меня веб-страничка:
Давайте теперь разобьём этот код на компоненты. Создадим 4 файла: header.php с шапкой файла, sidebar.php с боковой колонкой, content.php с основным содержимым страницы и footer.php для подвала сайта.
header.php:
sidebar.php:
content.php:
footer.php:
А теперь вернёмся в index.php и запишем в него следующий код:
Обновим страничку и увидим, что она по-прежнему работает. Только теперь она собралась из маленьких кусочков, каждый из которых отвечает за свою часть.
В подключаемых файлах мы можем использовать переменные, которые были определены до их подключения. К примеру, давайте в index.php добавим переменную $content:
А в файле content.php выведем эту переменную:
Давайте теперь снова обновим страничку:
Та-да! Наша страничка сформировалась динамически! Мало того, что она была собрана из разных компонентов, так она ещё и выводит значения из переменных.
include ve include_once Kullanımı
include ve include önce fonksiyonlarımızın ikisi de sayfaya bir dosya çağırmak için kullanılır. Aralarında küçük değişiklikler vardır. Değişiklikleri görmeden önce include ve include_once fonksiyonlarının kullanımlarına bakalım ve bir örnek yapalım.
Yukarıdaki 4 kullanımında birbirinden farkı yoktur.
include ve include_once fonksiyonlarına parametre olarak verdiğimiz dosya yolu eğer php tarafından bulunamazsa bize uyarı tipinde hata mesajı verir ama php kodlarımız hata mesajından sonra çalışmaya devam eder.
Örneğin: bir adet header.php dosyamız ve bir adette index.php dosyamız olsun index dosyamızda header.php yi çağıralım.
header.php dosyamız:
header.php
<?php
echo «Burası Header Dosyasının İçeriğidir.»;
?>
1 2 3 4 5 |
<?php echo»Burası Header Dosyasının İçeriğidir.»; |
index.php dosyamız:
index.php
<?php
include «header.php»;
echo «Burasıda index.php dosyasının içeriğidir.»;
?>
1 2 3 4 5 |
<?php include»header.php»; echo»Burasıda index.php dosyasının içeriğidir.»; |
sayfaları oluşturup index.php ye girdiğimizde ekranda header.php ve index.php nin içeriğini görmüş olacağız.
Not: include yerine include_once de kullanabilirdik.
Including a PHP File into Another PHP File
The and statement allow you to include the code contained in a PHP file within another PHP file. Including a file produces the same result as copying the script from the file specified and pasted into the location where it is called.
You can save a lot of time and work through including files — Just store a block of code in a separate file and include it wherever you want using the and statements instead of typing the entire block of code multiple times. A typical example is including the header, footer and menu file within all the pages of a website.
The basic syntax of the and statement can be given with:
Tip: Like the and statements, you can omit the parentheses while using the and statements as demonstrated above.
The following example will show you how to include the common header, footer and menu codes which are stored in separate ‘header.php’, ‘footer.php’ and ‘menu.php’ files respectively, within all the pages of your website. Using this technique you can update all pages of the website at once by making the changes to just one file, this saves a lot of repetitive work.
Выводы о необходимости использования include
include — это инструмент, который позволяет управлять контентом.
Включать, выключать по необходимости тот или иной код.
Выводить огромные портянки кода из отдельного файла, чтобы не замусоривать основной файл сайта.
Выполнять один и тот же код на разных страницах с разными исходными данными — это требует пояснения:
Предположим, что на двух страницах есть одинаковые переменные, с разными значениями и обработать их нужно одинаково:
На странице test_1.php $a =1; $b =2;
На странице test_2.php $a =3; $b =4;
Ниже данных инклудим файл со скриптом : echo $a + $b;
Другими словами — вам не нужно писать код отдельно для каждой страницы, вам нужно вывести в файл только тот код, который будет повторяться на каждой странице, а данные на страницах будут разные…