Может кто-нибудь сказать, каково отношение include и require с магическими константами в php?

Я учусь включать и требовать конструкций на php.net и нашел линию Исключением из этого правила являются магические константы, которые оцениваются синтаксическим анализатором до того, как произойдет включение. по 7 абзацу эта страница но не понял, какова связь магических констант с include и require в php.

Кто-нибудь может сказать простыми и легкими словами?

Отвечать на мой вопрос хорошо, но, пожалуйста, ответьте, я хочу знать и учиться, отрицательная оценка не имеет значения.

0

Решение

Перед синтаксическим анализом вашего кода анализатор разрешает все include и require, чтобы он мог анализировать все, как если бы это был один скрипт. Тем не менее, прежде чем разрешить их, любые магические константы, такие как __DIR__ будет решен.

Пример:

Представьте, что у вас есть два файла:

file1.php

<?php
require __DIR__ . '/file2.php';

echo 'Hello ' . $a;

file2.php

<?php
$a = 'World';

Как видите, есть волшебная константа: __DIR__ там. Эта константа вернет абсолютный путь к файлу, в котором я ее записал. Поэтому анализируемый сначала разрешает:

<?php
require '/the-current-folder/file2.php';

Тогда это на самом деле включает в себя любой include а также require так получается:

<?php
$a = 'World';

echo 'Hello ' . $a;

Затем он разбирает скрипт:

Hello World
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]