Я хочу запустить код из awesomeQuery.php на нескольких страницах, поэтому я использую PHP требуют.
<?php require_once("awesomeQuery.php") ?>
awesomeQuery.php выглядит примерно так:
<?php
require 'vendor/autoload.php';
use Parse\ParseQuery;
[query code here that works]
?>
Теперь вот spiffyPage.php:
<?php
//This line here works beautifully!
require_once("awesomeQuery.php");
//If I make a new query code in this file I get the following error:
//Fatal error: Class 'ParseQuery' not found in /path/spiffyPage.php on line 45
[some other similar query code]
?>
Есть ли причина, по которой этот новый запрос не работает? Разве я уже не звонил use Parse\ParseQuery
от awesomeQuery.php? Разве это не переносится в spiffyPage.php?
Если я позвоню use Parse\ParseQuery
отдельно в spiffyPage.php, тогда новый код запроса делает работа … но я бы предпочел не называть это каждый раз!
Мое предположение: весь код PHP в awesomeQuery.php исполняется перед вставкой в spiffyPage.php, так что код use Parse\ParseQuery
не вставляется в spiffyPage.php. Это правильно? Если да, могу ли я вставить код в файл из другого файла, не выполняя код в первую очередь?
руководство PHP ясно говорит, что
Замечания:
Правила импорта основаны на файлах, это означает, что включенные файлы НЕ наследуют правила импорта родительского файла.
Других решений пока нет …