Я работал над небольшой страницей в PHP, которая не нуждается в мощной полнофункциональной среде. Одна вещь, которую я действительно упускаю из предыдущей работы в Ruby-on-Rails, - это возможность эффективно передавать контент на страницу, используя «content_for».
Мне было интересно, как вы могли бы создать жизненный цикл страницы, который бы достиг такого же эффекта в PHP?
Итак, вот простой пример:
Допустим, у вас есть шаблон, который определяет индексную страницу, только повторяющийся заголовок и меню, которое вы хотите использовать на всех своих страницах. Итак, ваш index.php
файл выглядит в основном так:
...header stuff...
<body>
<?php include $file.'.php'; ?>
</body>
...footer stuff...
РЕДАКТИРОВАТЬ: Спасибо за советы по безопасности URL, но давайте просто предположим, что я получаю запрос пользователя безопасно:)
Теперь, скажем, в заголовке вы хотите поместить это:
<head>
<title><?php echo $page_title; ?></title>
</head>
Было бы неплохо иметь возможность указать заголовок во включаемом файле, поэтому по URL http://example.com/index.php?p=test
вы загружаете test.php
, и этот файл выглядит следующим образом:
<?php $page_title = 'Test Page'; ?>
... rest of content ...
Теперь, очевидно, это не работает, потому что включающая страница (index.php) загружается до того, как установлена переменная.
В Rails вы можете передавать вещи «на страницу», используя функцию content_for
.
У меня такой вопрос: каков был бы самый простой и изощренный способ, с помощью которого вы все можете придумать, чтобы реализовать такую функцию «content_for» в PHP?
В идеале я хотел бы получить предложения, которые не предполагают связывание с какой-то большой платформой, но с некоторым относительно легким стандартным кодом, который может использоваться во многих различных приложениях.