Пост конечно получился огромный (что то я разошелся), но все же наберитесь терпения и дочитайти до конца. Должно быть интересн.
Итак сначало Вступление.
Зачем вообще я завел эту тему!?
Года 3 я кодил на C# и C++, соответственно на .NET фреймворке. Тут судьба распорядилась так, что стал я заниматься php и прочей веб лабудой, месяца 3 или 4 уже. Когда я начал, после .NET, я конечно был в шоке от такого бардака (новички меня поймут, да и профи тоже должны). Спустя эти месяцы, меня сильно начали напрягать (сейчас надо правильно выразиться чтоб меня поняли...) шаблонизаторы которые существуют на данный момент ну или те о которых мне известно, точне то чего в них нет, и то, что они утверждают, что отделяют бизнес логику от логики отображения. Логика должа разделяться архитектурой приложения, и концепцией шаблонизатора. То что версальщик и кодер могут независимо работать, тоже байка, они по любому работают
сообща, а иначе один из них такой геморой получит, и на выходе полный изврат получится.
Для себя я сделал вывод что шаблонизаторы вообще безполезны. По сути они кроме изменений синтаксиса php ничего не предлогают, та как конструкция
отличается от
1. Longi - 11 Октября, 2011 - 00:52:31 - перейти к сообщению
Но что то я отвлекся от темы. Кто хоть раз связывался с WPF и xaml разметкой тот меня сразу поймет. Microsoft всетаки молодцы, такую класную вещь придумали. Вот только для php никто подобного не сделал. Хотя может и сделали, но я сегодня весь день ковырялся в инете, в поисках и увы.
Так вот, запарился я писать таким макаром шаблоны и хотельсь чтото типо WPF. Для своих целей я начал писать одну штуку, ниже опишу ее. Это будет чтото похожее на WPF, но очень урезаное и немного измененное.
Теперь ответ на выше поставленный вопрос, поднял я эту тему чтоб общественность высказалась, нужен этот велосипед или нет. По итогам так сказать голосования и коментариев я может напишу PEAR и PECL расширения. Плюс, я всетаки не все аспекты php знаю так что нужны советы и замечания Гуру, и пожелания простых смертных.
Теперь Вестч.
Начнем со структуры данных, у нас значит есть классы модели, неважно чо в них и как это все заполняетсяю Так же неких Класс ViewModel в котором эти модели как нам нужно содержаться.
вот наглядно
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- class MenuItem{
- var $Link;
- Var $DisplayName;
- }
- class MainMenuModel{
- function Load(){
- //Здесь допустим логика заполнения
- }
- }
- class FormModel{
- var $InputTextLabel = 'тра та та';
- var $InputTextValue = 'а здесь шиш';
- }
- class ClassViewModel{
- var $MainMenu = new MainMenuModel->Load(); // это не совсем корректно но общая идея понятна
- var $Title = 'бла бла бла';
- var $Header = 'Твой НЭДЭР';
- var $Form = new FormModel();
- }