PHP: про eval и его друзей :-)

grin

Guest
PHP: про eval и его друзей :)

Значит так...
Имеем:
file1.php
file2.php

Надо:
Подключить в file1.php file2.php, но не инклудом
т.е. в файле file1.php нам нужна просто строка $str в которой у нас бы был результат выполнения php кода из файла file2.php, причем не только кода, но и вперемешку с html`ом. Пробовал eval он конечно выполняет, но выводит результат, а не записывает в стороку. Может кто-нить знает как :confused:

А все эти гребанные темплейты :)
 

tony2001

TeaM PHPClub
>А все эти гребанные темплейты
темплейты с пхп-кодом ?
ты уверен, что это можно назвать _темплейтами_ ?
 

Crazy

Developer
Почему нет? Вроде как слово "template" еще не канонизировано и его можно трактовать весьма по-разному.
 

tony2001

TeaM PHPClub
я про то, что если в коде темплейтов используется код ПХП, то эти темплейты теряют всякий смысл.
 

Crazy

Developer
Теряют смысл для кого?

Я использую некоторую сущность, которую называют "template'ами" для разделения логики и представления. Грубо: в одних файлах у меня размещается код, обрабатывающий запрос. В других -- код, отображающий результаты запроса.

Это неправомерное использование термина?
 

tony2001

TeaM PHPClub
>Грубо: в одних файлах у меня размещается код, обрабатывающий
>запрос. В других -- код, отображающий результаты запроса.
а где тут темплейты ?
предполагается, что темплейты - это набор файлов, отражающих именно ДИЗАЙН, а не программную реализацию.
а у тебя все намешано.
 

Mammoth

Guest
Автор оригинала: Crazy
Теряют смысл для кого?

Я использую некоторую сущность, которую называют "template'ами" для разделения логики и представления. Грубо: в одних файлах у меня размещается код, обрабатывающий запрос. В других -- код, отображающий результаты запроса.

Это неправомерное использование термина?
Собственно, из-за такого понимания термина "темплейт" и возник данный тред...
 

tony2001

TeaM PHPClub
>Собственно, из-за такого понимания термина "темплейт" и возник данный тред...
да, именно из-за этого
 

Crazy

Developer
Автор оригинала: tony2001
предполагается, что темплейты - это набор файлов, отражающих именно ДИЗАЙН, а не программную реализацию.
а у тебя все намешано.
Когда я в файле с ДИЗАЙНОМ пишу даже ссылку на макрос -- не говоря уже об описании повторяющихся и условных блоков -- это уже элементы программирования. Так что вопрос не в принципе, а в той степени, в которой мы можем от него отойти. Ибо в чистом виде идея вырождает в простой выбор того или иного static html для подключения.

Далее: я не вижу принципиальной разницы для верстальщика, какой синтаксис макросов он будет использовать: {foobar} или <?= $foobar ?>. Но во втором случае он автоматически получает большу гибкость в формировании ПРЕДСТАВЛЕНИЕ. Например -- он может по СВОЕМУ усмотрению (не дергая реализатора логики) заставить foobar отображаться в верхнем регистре.

Понятно, то использование template'ов в твоей трактовке может позволить насильно связать руки верстальщика, чтобы он, к примеру, не написал прямо там же и обращение к базе ("а мне так было удобнее").

Так что рассмотрение вопроса стОит начать с логического начала. С вопроса "а зачем нам вообще то, что мы называем template'ами". Вот лично ты как видишь ответ на этот вопрос?
 

grin

Guest
>ты уверен, что это можно назвать _темплейтами_ ?
А действительно, почему нет?
У меня примерно точно так же как и у Crazy.
Есть шаблоны дизайна, а в них уже пихается (даже и не знаю как назвать :), типа всякие модули).
А потом, все же разложенно по полочкам :)
т.е. дизайн и код нигде не мешается.
 

Crazy

Developer
Мне, если честно, смесь кода PHP и HTML мешает. Но жесткие ограничения мешают больше. :)
 

Rynor

stay hungry
экономика должна быть экономной
программирование должно быть темплейтным
и все хорошо в меру :)
 

Crazy

Developer
Фраза "программирование должно быть темплейтным" лишена смысла, поскольку, как мы только что выяснили, словом template люди называют совершенно разные сущности. :)
 

Mammoth

Guest
Безусловно, тот принцип который проповедуют Crazy & grin можно назвать созданием темплейтов. Просто имеется и другая технология создания темплейтов, на фоне которой их труд - не самый благодарный (хотя может я и ошибаюсь, но данный тред тому подтверждение).

Основное отличие - в разных подходах формирования веб-страниц. В одном случае используется определение множества переменных с кусочками HTML и последующим их слиянием ("кусочный способ"). В другом - использование специального синтаксиса для вставки в определенные места HTML темплейтов данных.
 

Crazy

Developer
IMHO, кусочная сборка менее удобна для верстальщика. Соответственно это потеря производительности.
 

Mammoth

Guest
Речь в данном треде как раз о кусочном методе и идет :)
 

Crazy

Developer
Я заиетил. :)

Но есть разница между кусочной реализацией, где я, к примеру, обязан повторяющийся блок вынести в отдельный файл и где верстальщик не может сделать повторяющийся блок без программиста -- и реализацией, где верстальщик МОЖЕТ разбить код на куски, если ему так удобнее. Из соображений именно СВОЕГО удобства, а не удобства автора функции, собирающей код шаблонов. :)
 

Mammoth

Guest
Автор оригинала: Crazy
...
Но есть разница между кусочной реализацией, где я, к примеру, обязан повторяющийся блок вынести в отдельный файл и где верстальщик не может сделать повторяющийся блок без программиста -- и реализацией, где верстальщик МОЖЕТ разбить код на куски, если ему так удобнее. Из соображений именно СВОЕГО удобства, а не удобства автора функции, собирающей код шаблонов. :)
Что-то я не понял - о чем речь? О том, что верстальщик МОЖЕТ разбить КОД (?!) на куски?
 
Сверху