display() вызывается в конце, когда уже нужно отображать результат, ведь так?
а до этого, пока работает контроллер или модель, происходит assign() или fetch() для перекеширования или подготовки блоков каких нибудь…
для этого нужно чтоб ваш $this->assignDefaultVariables(); УЖЕ был вызван
а вы его только в display() вызываете
посмотрю.
но если пойти еще дальше. то можно вообще уйти от контролеров ))
ведь по сути, если представление само дергает нужные ему данные, то оно само и решения принимать, и в случае чего дергать нужные системные действия…
хотя это уже полная поломка mvc
строку вызова модуля я осознал)
вопрос был про метод генерации html.
исходя из ваших слов получается что модуль генерит html «глубоко внутри» себя. не используя шаблонизатор?
тогда непонятно почему не используя.
если успользуете внутри модуля шаблонизатор, то получается что у вас смешанная логика — то управление в руках представления то в руках контроллера модуля…
не скажу что это плохо. но както странно)
что значит «загружаем действия»?
вызовется действие которое подготовит данные, скормит шаблонизатору и вернет готовый html-блок?
или вызовется шаблон данного действия, который уже сам себя сформирует и то что он вернет и будет искомым блоком?
с одной стороны понимаю что «управляющее представление» бывает иногда удобным и логичным в использовании.
с другой стороны, остается чувство «неправильности» такого подхода.
поясню что именно меня смущает:
— получается что тот кто делает шаблоны, тот и управляет приложением. зачастую за шаблоны отвечает верстальщик. получается что он может вызывать из шаблона те данные которые ему заблагорассудится, не думая о том что это может вызвать повторные выборки или что эти данные в данном блоке вообще нельзя отображать…
— если нам нужно в процессе работы скрипта сделать чтото в без вывода в шаблон (статистику подсчитать, обновить чтонить в Бд) то мы все равно в шаблоне должны прописать вызов соответсвующего блока, даже зная что он ничего не выдаст на выход? и потом глядя на код шаблона попробуй пойми где есть вывод в шаблон а где нет.
-что с безопасностью данных? кто будет решать какой шаблон имеет право получать данные которые он запросил или нет?
1) в любом случае, implode склеит массив быстрее чем перебор и склеивание вручную
2) да и объем функции уменьшился в два раза.
да и дело даже не в этом.
а в том что фреймворки стали модными, а встроенные в САМ язык функции некоторые так и не могут осилить, и городят трехэтажные функции, даже для элементарных задач (причем этим грешат и сами создатели фреймворков некоторых)
пригодиться только для того чтоб первый раз сгенерировать поля для формы по полям таблицы. иногда полезно.
НО: зачастую в таблице куча полей которые заполняются автоматом, либо на основе данных других таблиц (даты редактирования, модификации, количество записей, внешние ключи, режимы и параметры доступа....).
это я к тому, что в форме не нужно показывать ВСЕ поля из таблицы, а только часть, а остальные должны заполняться сами с помощью логики какой-то.
универсального создателя форм сделать не получится, все равно надо ручками объяснять что и где и как показывать…
раз вы так щедро раздаете инвайты — то не проще ли на начальном этапе седлать свободную регистрацию?
а на инвайты перевести потом, когда народ обживется на сайте.
по IT все самое свежее читаю в Инете.
а для расширения кругозора: автомобильное (за рулем,topgear) или познавательное (Популярная механика, техника молодежи)
подключение к сети это еще не преступление!
может я для линуха дистрибы буду качать, или наоборот, раздавать плоды своего личного творчества.
это они мне могут мне запретить
1) Биллинг — таже программная система, которая может ошибаться или в которой может быть сбой.
2) Лог их биллинга покажет что я качал куски какихто данных, каждый кусок зашифрован и нет возможности идентифицировать часть чего эти данные
3) качал я эти куски с других такиж же пользователей, а не с одного какогото сервера
так в чем конкретно они меня могут обвинить? если они никак не смогут даже точно сказать ЧТО именно я качал в тот момент?
дело не в умных людях )
просто вы написали о возможности получить переменные в массиве, НО ничего не написали о том, как например, это можно использовать для решения какой-то конкретной задачи (например автоматизированная валидация и обработка форм, сериализация какая нибудь… )
без этого ваш топик новичкам мало поможет. мне кажется
но не понимаю почему вы игнорируете Конструктор, его для таких задач и придумали — инициализировать окружение объекта и т.д.
а до этого, пока работает контроллер или модель, происходит assign() или fetch() для перекеширования или подготовки блоков каких нибудь…
для этого нужно чтоб ваш $this->assignDefaultVariables(); УЖЕ был вызван
а вы его только в display() вызываете
странно, не правда ли?
но если пойти еще дальше. то можно вообще уйти от контролеров ))
ведь по сути, если представление само дергает нужные ему данные, то оно само и решения принимать, и в случае чего дергать нужные системные действия…
хотя это уже полная поломка mvc
я сколько раз видел скомпиленные им шаблоны, там было не так страшно
можете выделить четкие преимущества вашего подхода?
хардкорный шаблон
вопрос был про метод генерации html.
исходя из ваших слов получается что модуль генерит html «глубоко внутри» себя. не используя шаблонизатор?
тогда непонятно почему не используя.
если успользуете внутри модуля шаблонизатор, то получается что у вас смешанная логика — то управление в руках представления то в руках контроллера модуля…
не скажу что это плохо. но както странно)
вызовется действие которое подготовит данные, скормит шаблонизатору и вернет готовый html-блок?
или вызовется шаблон данного действия, который уже сам себя сформирует и то что он вернет и будет искомым блоком?
с другой стороны, остается чувство «неправильности» такого подхода.
поясню что именно меня смущает:
— получается что тот кто делает шаблоны, тот и управляет приложением. зачастую за шаблоны отвечает верстальщик. получается что он может вызывать из шаблона те данные которые ему заблагорассудится, не думая о том что это может вызвать повторные выборки или что эти данные в данном блоке вообще нельзя отображать…
— если нам нужно в процессе работы скрипта сделать чтото в без вывода в шаблон (статистику подсчитать, обновить чтонить в Бд) то мы все равно в шаблоне должны прописать вызов соответсвующего блока, даже зная что он ничего не выдаст на выход? и потом глядя на код шаблона попробуй пойми где есть вывод в шаблон а где нет.
-что с безопасностью данных? кто будет решать какой шаблон имеет право получать данные которые он запросил или нет?
2) да и объем функции уменьшился в два раза.
да и дело даже не в этом.
а в том что фреймворки стали модными, а встроенные в САМ язык функции некоторые так и не могут осилить, и городят трехэтажные функции, даже для элементарных задач (причем этим грешат и сами создатели фреймворков некоторых)
НО: зачастую в таблице куча полей которые заполняются автоматом, либо на основе данных других таблиц (даты редактирования, модификации, количество записей, внешние ключи, режимы и параметры доступа....).
это я к тому, что в форме не нужно показывать ВСЕ поля из таблицы, а только часть, а остальные должны заполняться сами с помощью логики какой-то.
универсального создателя форм сделать не получится, все равно надо ручками объяснять что и где и как показывать…
а на инвайты перевести потом, когда народ обживется на сайте.
а для расширения кругозора: автомобильное (за рулем,topgear) или познавательное (Популярная механика, техника молодежи)
будут сидеть на нем. и создавать топики с жалобами ))
уходите с квипа да и все
может я для линуха дистрибы буду качать, или наоборот, раздавать плоды своего личного творчества.
это они мне могут мне запретить
2) Лог их биллинга покажет что я качал куски какихто данных, каждый кусок зашифрован и нет возможности идентифицировать часть чего эти данные
3) качал я эти куски с других такиж же пользователей, а не с одного какогото сервера
так в чем конкретно они меня могут обвинить? если они никак не смогут даже точно сказать ЧТО именно я качал в тот момент?
просто вы написали о возможности получить переменные в массиве, НО ничего не написали о том, как например, это можно использовать для решения какой-то конкретной задачи (например автоматизированная валидация и обработка форм, сериализация какая нибудь… )
без этого ваш топик новичкам мало поможет. мне кажется