![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
BuShaRt |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: 4 Всего: 6 |
Реально ли после
изменить значение $val, так, что бы в вышеописанном коде вывелось обновленное значение? На сколько я понимаю, Zend сначала формерует документ, а потом уже высылает т.е. пока код не выполниться, данные еще храняться в оперативной памяти. Уточню, что бы не было лишних ответов: Java Script (и Ajax) меня ну не как не интересуют в данном случае. Я прекрасно понимаю, что если изменить переменную до вывода, выведеться обновленное значение. Интересует решение onlyPHP и только, после интрипритации кода вывода. ООП естественно не исключаеться. |
|||
|
||||
CyClon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 3.12.2005 Репутация: 3 Всего: 4 |
Если ты вывел переменную, все, это уже не переменная. Изменить вывод потом можно только через ob_get_contents, обрабортать регулярками -> вывести. Бред короче идея.
|
|||
|
||||
WolfON |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 604 Регистрация: 19.7.2004 Репутация: 6 Всего: 8 |
Где такая идея применима я вообще себе слабо представляю
|
|||
|
||||
BuShaRt |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: 4 Всего: 6 |
Ну на самом деле в голове крутиться нечто поглобальней
![]() Просто я сам еще до конца не сформулировал, что крутиться... Вот пока подпитываю "юлу" информацией, может сформулирую ![]() А может и пойму, что нереализуемо... |
|||
|
||||
Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: нет Всего: 70 |
При огромном количестве всяких шаблонизаторов, пользоваться print вроде как глупо.
|
|||
|
||||
BuShaRt |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: 4 Всего: 6 |
Daevaorn,
А шаблонизаторы наверно не через print выводят? ![]() |
|||
|
||||
WolfON |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 604 Регистрация: 19.7.2004 Репутация: 6 Всего: 8 |
BuShaRt, конечно нет! echo рулит!
![]() Так зачем? Разделяемая память? |
|||
|
||||
Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: нет Всего: 70 |
||||
|
||||
BuShaRt |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: 4 Всего: 6 |
Daevaorn,
Какой код? WolfON, ![]() Ну в основе идеи конечно непоследовательный код ![]() |
|||
|
||||
WolfON |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 604 Регистрация: 19.7.2004 Репутация: 6 Всего: 8 |
BuShaRt,
Слышал-бы это Эдсгер Дайкстра, то не миновать вам быстрой и страшной расправы %) А, собственно, зачем? И как непоследовательное выполнение кода может быть связанно с выводом переменных? ) [если уж прямо-таки надо поменять значение той перменной, то можно передать на нее указатель\сделать ее глобальной\занести в область общей памяти] |
|||
|
||||
BuShaRt |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: 4 Всего: 6 |
WolfON,
Ну, я же говорю - мысли в голове крутяться непонятные ![]() Я имел ввиду не совсем непоследовательное выполнение кода... А нечто схожие с абстрактным программированием (если я конечно верно понял его суть). А почему print? Потому, что мне показалось, что это лучшая формулировка вопроса о возрате в вышеинтрепритированные строки... |
|||
|
||||
Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: нет Всего: 70 |
||||
|
||||
BuShaRt |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: 4 Всего: 6 |
Daevaorn,
Что это за код такой? ![]() |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
ты когда с шаблонизатором работаешь, то по-хорошему, ты можешь только определить шаблон и наполнение. Вывод делает код шаблонизатора сам, не зависимо от тебя. Соотвественно, возмоностей напортачить у тебя гораздо меньше(как в более строгих языках Delphi/С++ при использовании конструкторов вместо непосредственного выделения памяти "руками"). Потому ещё твой код по отношению к коду "ядра" шаблонизатора является клиентским. Доходчиво? ![]() |
|||
|
||||
BuShaRt |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: 4 Всего: 6 |
skyboy,
![]() Т.к. вы щас интерфейс классов называете клиентским кодом? |
|||
|
||||
WolfON |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 604 Регистрация: 19.7.2004 Репутация: 6 Всего: 8 |
BuShaRt, строгий, именно строгий. У него есть жесткая типизация и все остальное, что нужно для счастья.
Да, про клиентский код - бред. Клиентский код - который выполняется на машине клиента - например непосредственное отображение html кода, css и javascript'ы |
|||
|
||||
BuShaRt |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: 4 Всего: 6 |
||||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
||||
|
||||
Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: нет Всего: 70 |
Нет. JS это код который выполянется на строне клиента. клиентский код в общепризнанном понимании это то о чем очень толково написал skyboy |
|||
|
||||
BuShaRt |
|
||||||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: 4 Всего: 6 |
Вызов методов => обращение к интерфейсу Методы => интерфейс Это как пользовательский интерфейс совокупность кнопок, так программный совокупность методов, которые мы используем, подобно нажатию на кнопки.
фсе что исложил и изложу - лишь мое мнение ![]() в споре рождаеться истина ![]() патаму и спорю ![]() Это сообщение отредактировал(а) BuShaRt - 19.5.2007, 23:33 |
||||||
|
|||||||
Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: нет Всего: 70 |
Есть два типа кода: библиотечный и клиентский. Второй использует первый. В данном случае шаблонизатор это библиотека, мой скрипт это клиентский код, который как раз print не использует за ненадобностью.
|
|||
|
||||
BuShaRt |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: 4 Всего: 6 |
Daevaorn,
А где про ета можна почетать?) |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
в смысле? о терминах? либо прими, либо не принимай такую трактовку. на программирование(да и на проектирование) знание терминов никак не влияет. только на способность усваивавать материал, да и то - несильно. тем более, что приведенное деление - не более, чем условность. шаблонизатор относительно всей системы - библиотечный модуль, но он же является клиентским кодом относительно интерпретатора... так что эти два термина только для более краткого описания роли объекта, о котором идет речь. |
|||
|
||||
BuShaRt |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: 4 Всего: 6 |
skyboy,
Я понял: код JavaScript - клиентский относительно системы "клиент - сервер" код работающий с классом - клиентский относительно системы "объект - класс".
Имхо - хороший программист должен грамотно выражать мысли. Позволимы ошибки на форуме, но не на приеме на работу или написание документаций и статей. |
|||
|
||||
Replicator |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 121 Регистрация: 30.4.2006 Где: Outer Heaven Репутация: нет Всего: нет |
[offtop]Да у нас весь интернет завален неграмотными статьями...[/offtop]
--------------------
|
|||
|
||||
BuShaRt |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: 4 Всего: 6 |
Replicator,
Ты считаешь, что в честь этого надо его завалить более неграмотными статьями? Добавлено через 50 секунд Кстате... тема сабжа все еще актуальна... |
|||
|
||||
Replicator |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 121 Регистрация: 30.4.2006 Где: Outer Heaven Репутация: нет Всего: нет |
Нет, не считаю. Это так, мысли вслух о том, откуда вообще возникают путаницы с терминами.
А по теме, насколько мне известно, как уже и было сказано, после выполнения
значение переменной отправляется в буфер без всякой связи со способом попадания в буфер и тем, из какой переменной/константы значение попало в буфер. Я вижу решение в том, чтобы написать обертку над echo:
Этот метод будет пока только сохранять и ничего не выводить. При завершении программы вызываешь метод $out::flush() через register_shutdown_function(). Так, до вызова $out::flush() можно сделать $out::replace($var), что заменит во внутренней таблице класса значение, соответствующее $var. Но тут надо думать над тем, как узнать имя перемнной, переданной в функцию. Чую, что это также сложно/невозможно. Но можно поиграться с __call и __get. --------------------
|
||||
|
|||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |