Вопрос обновлен
Я создаю инфраструктуру MVC, для моих шаблонов и представлений у меня будет файл шаблона главной страницы, и мои представления будут включены в этот шаблон.
Единственный способ сделать это - использовать выходной буфер
ob_start();
include 'userProfile.php';
$content = ob_get_clean();
Есть ли другой способ сделать это? Я думаю, что выходная буферизация не самая лучшая по производительности, так как использует много памяти
Вот пример контроллера, $this->view->load('userProfile', $profileData);
это часть, которая будет загружена с использованием раздвоения вывода, чтобы ее можно было включить в основной шаблон ниже в часть $ content
просмотр класса
public function load($view,$data = null) {
if($data) {
$this->data = $data;
extract($data);
} elseif($this->data != null) {
extract($this->data);
}
ob_start();
require(APP_PATH . "Views/$view.php");
$content = ob_get_clean();
}
Контроллер
/**
* Example Controller
*/
class User_Controller extends Core_Controller {
// domain.com/user/id-53463463
function profile($userId)
{
// load a Model
$this->loadModel('profile');
//GET data from a Model
$profileData = $this->profile_model->getProfile($userId);
// load view file
$this->view->load('userProfile', $profileData);
}
}
основной шаблон сайта
<html>
<head>
</head>
<body>
<?php echo $content; ?>
</body>
</html>