Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> print, Размышление о выводе данных. 
:(
    Опции темы
BuShaRt
Дата 18.5.2007, 14:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

Репутация: 4
Всего: 6



Реально ли после
Код

print $val;

изменить значение $val, так, что бы в вышеописанном коде вывелось обновленное значение?
На сколько я понимаю, Zend сначала формерует документ, а потом уже высылает т.е. пока код не выполниться, данные еще храняться в оперативной памяти.

Уточню, что бы не было лишних ответов:
Java Script (и Ajax) меня ну не как не интересуют в данном случае.
Я прекрасно понимаю, что если изменить переменную до вывода, выведеться обновленное значение.

Интересует решение onlyPHP и только, после интрипритации кода вывода.
ООП естественно не исключаеться.
PM MAIL   Вверх
CyClon
Дата 18.5.2007, 15:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 3.12.2005

Репутация: 3
Всего: 4



Если ты вывел переменную, все, это уже не переменная. Изменить вывод потом можно только через ob_get_contents, обрабортать регулярками -> вывести. Бред короче идея.


--------------------
user posted image
PM   Вверх
WolfON
Дата 18.5.2007, 17:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 604
Регистрация: 19.7.2004

Репутация: 6
Всего: 8



Где такая идея применима я вообще себе слабо представляю
PM MAIL ICQ   Вверх
BuShaRt
Дата 18.5.2007, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

Репутация: 4
Всего: 6



Ну на самом деле в голове крутиться нечто поглобальней smile
Просто я сам еще до конца не сформулировал, что крутиться... 

Вот пока подпитываю "юлу" информацией, может сформулирую smile
А может и пойму, что нереализуемо...
PM MAIL   Вверх
Daevaorn
Дата 18.5.2007, 18:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: нет
Всего: 70



При огромном количестве всяких шаблонизаторов, пользоваться print вроде как глупо.
PM MAIL WWW   Вверх
BuShaRt
Дата 18.5.2007, 18:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

Репутация: 4
Всего: 6



Daevaorn
А шаблонизаторы наверно не через print выводят?  smile 
PM MAIL   Вверх
WolfON
Дата 18.5.2007, 18:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 604
Регистрация: 19.7.2004

Репутация: 6
Всего: 8



BuShaRt, конечно нет! echo рулит! smile 

Так зачем? Разделяемая память?
PM MAIL ICQ   Вверх
Daevaorn
Дата 18.5.2007, 18:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: нет
Всего: 70



Цитата(BuShaRt @  18.5.2007,  19:14 Найти цитируемый пост)
А шаблонизаторы наверно не через print выводят?   

А мне всё равно. Главное, что клиентский код его не использует.
PM MAIL WWW   Вверх
BuShaRt
Дата 18.5.2007, 19:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

Репутация: 4
Всего: 6



Daevaorn
Какой код?


WolfON
 smile Win vs *nix отдыхает... print 'vs echo';)

Ну в основе идеи конечно непоследовательный код smile

PM MAIL   Вверх
WolfON
Дата 18.5.2007, 20:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 604
Регистрация: 19.7.2004

Репутация: 6
Всего: 8



BuShaRt
Цитата(BuShaRt @  18.5.2007,  19:35 Найти цитируемый пост)
Ну в основе идеи конечно непоследовательный код smile

Слышал-бы это Эдсгер Дайкстра, то не миновать вам быстрой и страшной расправы %)

А, собственно, зачем?
И как непоследовательное выполнение кода может быть связанно с выводом переменных? )
[если уж прямо-таки надо поменять значение той перменной, то можно передать на нее указатель\сделать ее глобальной\занести в область общей памяти]
PM MAIL ICQ   Вверх
BuShaRt
Дата 18.5.2007, 20:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

Репутация: 4
Всего: 6



WolfON
Ну, я же говорю - мысли в голове крутяться непонятные smile Времени нет вдумываться, сижу тонкости CSS учу...
Я имел ввиду не совсем непоследовательное выполнение кода... А нечто схожие с абстрактным программированием (если я конечно верно понял его суть).

А почему print? Потому, что мне показалось, что это лучшая формулировка вопроса о возрате в вышеинтрепритированные строки...
PM MAIL   Вверх
Daevaorn
Дата 18.5.2007, 22:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: нет
Всего: 70



Цитата(BuShaRt @  18.5.2007,  20:35 Найти цитируемый пост)
Какой код?

к-л-и-е-н-т-с-к-и-й к-о-д
PM MAIL WWW   Вверх
BuShaRt
Дата 18.5.2007, 22:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

Репутация: 4
Всего: 6



Daevaorn
Что это за код такой? smile
PM MAIL   Вверх
skyboy
Дата 19.5.2007, 07:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(BuShaRt @  18.5.2007,  21:54 Найти цитируемый пост)
Что это за код такой?

ты когда с шаблонизатором работаешь, то по-хорошему, ты можешь только определить шаблон и наполнение. Вывод делает код шаблонизатора сам, не зависимо от тебя. Соотвественно, возмоностей напортачить у тебя гораздо меньше(как в более строгих языках Delphi/С++ при использовании конструкторов вместо непосредственного выделения памяти "руками"). Потому ещё твой код по отношению к коду "ядра" шаблонизатора является клиентским.
Доходчиво? smile
PM MAIL   Вверх
BuShaRt
Дата 19.5.2007, 11:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

Репутация: 4
Всего: 6



skyboy,  
smile  Delphi - строгий язык? убейте меня....

Т.к. вы щас интерфейс классов называете клиентским кодом?
PM MAIL   Вверх
WolfON
Дата 19.5.2007, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 604
Регистрация: 19.7.2004

Репутация: 6
Всего: 8



BuShaRt, строгий, именно строгий. У него есть жесткая типизация и все остальное, что нужно для счастья.

Да, про клиентский код - бред. Клиентский код - который выполняется на машине клиента - например непосредственное отображение html кода, css и javascript'ы
PM MAIL ICQ   Вверх
BuShaRt
Дата 19.5.2007, 14:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

Репутация: 4
Всего: 6



Цитата(WolfON @  19.5.2007,  14:18 Найти цитируемый пост)
Клиентский код - который выполняется на машине клиента - например непосредственное отображение html кода, css и javascript'ы


вот я тоже всегда так думал smile потому и переспросил...

PM MAIL   Вверх
skyboy
Дата 19.5.2007, 22:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(BuShaRt @  19.5.2007,  10:46 Найти цитируемый пост)
Т.к. вы щас интерфейс классов называете клиентским кодом? 

нет. не интерфейс, а обращение к интерфейсу. вызов методов, если угодно. а как прикажете называть с точки зрения ядра вызовы интерфейсных методов?
PM MAIL   Вверх
Daevaorn
Дата 19.5.2007, 23:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: нет
Всего: 70



Цитата(WolfON @  19.5.2007,  15:18 Найти цитируемый пост)
Да, про клиентский код - бред. Клиентский код - который выполняется на машине клиента - например непосредственное отображение html кода, css и javascript'ы

Нет. JS это код который выполянется на строне клиента. 
клиентский код в общепризнанном понимании это то о чем очень толково написал skyboy 
PM MAIL WWW   Вверх
BuShaRt
Дата 19.5.2007, 23:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

Репутация: 4
Всего: 6



Цитата(skyboy @  19.5.2007,  22:36 Найти цитируемый пост)
не интерфейс, а обращение к интерфейсу. вызов методов, если угодно.

Вызов методов => обращение к интерфейсу
Методы             => интерфейс

Это как пользовательский интерфейс совокупность кнопок, так программный совокупность методов, которые мы используем, подобно нажатию на кнопки.

Цитата

Слой представления. Как говорилось выше, Microsoft CRM имеет клиент-серверную архитектуру. Клиентом в данном случае может быть Internet Explorer либо Outlook. Оба приложения используются для отображения пользовательского Web-интерфейса Microsoft CRM и для выполнения клиентских сценариев на языке JavaScript. Microsoft CRM имеет встроенные инструменты, позволяющие добавлять в клиентский код собственные сценарии. С их помощью разработчики могут выполнять необходимые действия в ответ на события в клиентском приложении пользователя.



Цитата

Предыдущие версии ASP.NET AJAX CTP использовали один большой JavaScript файл, в котором содержались все клиентские компоненты. В бета-версии разработчики разделили клиентский код на несколько отдельных файлов и поработали над оптимизацией трафика библиотеки. ASP.NET Ajax "Core" содержит два JavaScript файла:



фсе что исложил и изложу - лишь мое мнение smile
в споре рождаеться истина smile
патаму и спорю smile

Это сообщение отредактировал(а) BuShaRt - 19.5.2007, 23:33
PM MAIL   Вверх
Daevaorn
Дата 19.5.2007, 23:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: нет
Всего: 70



Есть два типа кода: библиотечный и клиентский. Второй использует первый. В данном случае шаблонизатор это библиотека, мой скрипт это клиентский код, который как раз print не использует за ненадобностью.
PM MAIL WWW   Вверх
BuShaRt
Дата 20.5.2007, 00:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

Репутация: 4
Всего: 6



Daevaorn
А где про ета можна почетать?)
PM MAIL   Вверх
skyboy
Дата 20.5.2007, 00:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(BuShaRt @  19.5.2007,  23:00 Найти цитируемый пост)
А где про ета можна почетать?

в смысле? о терминах? либо прими, либо не принимай такую трактовку. на программирование(да и на проектирование) знание терминов никак не влияет. только на способность усваивавать материал, да  и то - несильно. тем более, что приведенное деление - не более, чем условность. шаблонизатор относительно всей системы - библиотечный модуль, но он же является клиентским кодом относительно интерпретатора... так что эти два термина только для более краткого описания роли объекта, о котором идет речь.
PM MAIL   Вверх
BuShaRt
Дата 20.5.2007, 10:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

Репутация: 4
Всего: 6



skyboy
Я понял:
код JavaScript - клиентский относительно системы "клиент - сервер"
код работающий с классом - клиентский относительно системы "объект - класс".


Цитата(skyboy @  20.5.2007,  00:17 Найти цитируемый пост)
в смысле? о терминах? либо прими, либо не принимай такую трактовку. на программирование(да и на проектирование) знание терминов никак не влияет.

Имхо - хороший программист должен грамотно выражать мысли. Позволимы ошибки на форуме, но не на приеме на работу или написание документаций и статей.
PM MAIL   Вверх
Replicator
Дата 20.5.2007, 15:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 30.4.2006
Где: Outer Heaven

Репутация: нет
Всего: нет



[offtop]Да у нас весь интернет завален неграмотными статьями...[/offtop]
--------------------
 
PM WWW ICQ   Вверх
BuShaRt
Дата 20.5.2007, 18:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

Репутация: 4
Всего: 6



Replicator
Ты считаешь, что в честь этого надо его завалить более неграмотными статьями?

Добавлено через 50 секунд
Кстате... тема сабжа все еще актуальна...
PM MAIL   Вверх
Replicator
Дата 21.5.2007, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 30.4.2006
Где: Outer Heaven

Репутация: нет
Всего: нет



Нет, не считаю. Это так, мысли вслух о том, откуда вообще возникают путаницы с терминами.

А по теме, насколько мне известно, как уже и было сказано, после выполнения

Код

$var = '10';
echo $var;


значение переменной отправляется в буфер без всякой связи со способом попадания в буфер и тем, из какой переменной/константы значение попало в буфер.

Я вижу решение в том, чтобы написать обертку над echo:

Код

$out::print($var)

Этот метод будет пока только сохранять и ничего не выводить. При завершении программы вызываешь метод $out::flush() через register_shutdown_function(). Так, до вызова $out::flush() можно сделать $out::replace($var), что заменит во внутренней таблице класса значение, соответствующее $var.

Но тут надо думать над тем, как узнать имя перемнной, переданной в функцию. Чую, что это также сложно/невозможно. Но можно поиграться с __call и __get.
--------------------
 
PM WWW ICQ   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1132 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.