Я хочу, чтобы переменные были объявлены в файле, скажем, view.php
доступны в другом файле layout.php
. Тем не менее, я должен включить layout.php
, прежде чем включать view.php
из-за структурных ограничений.
Файл view.php
является представлением в структуре MVC. Таким образом, он будет содержать HTML и биты PHP для вывода переменных, создания циклов или определения переменных для файлов script
и css
, которые я хочу сделать доступными в файле layout.php
.
Я подумываю сделать это:
ob_start();
if (!@include __DIR__ . '/view.php') {
error('View no found');
}
$viewContent = ob_get_clean();
if(!@include __DIR__ . '/layout.php'){
error('Layout no foun');
}
Затем вывести $viewContent
внутри layout.php
файла:
<html>
<?=$styles=>;
</html>
<body>
<h1>Layout title</h1>
<?=$viewContent;?>
</body>
Будучи следующим:
<h2>My view here!</h2>
<?php
$styles = '<link rel="stylesheet" type="text/css" href="view.css" />'
Что должно привести к:
<html>
<link rel="stylesheet" type="text/css" href="view.css" />
</html>
<body>
<h1>Layout title</h1>
<h2>My view here!</h2>
</body>