Объясните про пхп

bastii

Навеяно соседним тредом.
Почему пхп все еще так популярен в народе, ведь очевидно пхп слабо абстрагирует от "куча write". Или я может отстал от жизни и пхп пошел дальше. Странно, что мешает развивать его дальше (JSP, ASP.NET, еще дальше). Не представляю как народ на пхп справляется различиями существующий браузеров.

vlfdimir58

при чем тут браузеры?

bastii

Ну а как ты пишешь сложный веб интерфейс, который работает на IE, Opera, Mozilla и каком-нибудь древнем сайте?

vlfdimir58

а причем тут пхп?

bastii

Притом, что это средство написать необходимый веб сайт. А то, что пхп там не причем, не очень хорошо.

korsar0156

Есть разные способы кроссбраузерности и подмена странички на сервере
только один из способоз достижения цели.
Я тоже не понимаю чем сложнее в PHP выдавать разный код для разных
браузеров, чем в JSP.
Мог бы найти и более веские аргументы против ПХП.

grek72

а какие у php минусы?

Dasar

> Есть разные способы кроссбраузерности и подмена странички на сервере
например?
> Я тоже не понимаю чем сложнее в PHP выдавать разный код для разных
браузеров, чем в JSP.
приведи, пример, как это будет на php.

artimon

Есть разные способы кроссбраузерности и подмена странички на сервере
только один из способоз достижения цели.
Заметим, не самый удачный.

artimon

приведи, пример, как это будет на php.
Проверяем HTTP_USER_AGENT и отдаём разные страницы. Куда уж проще-то?
Но, опять же, IMHO, это самый неудачный способ делать кросс-браузерный HTML.

artimon

Не представляю как народ на пхп справляется различиями существующий браузеров.
Народ справляется написанием кросс-браузерных html/js/css. А на чём написана серверная программа, которая их генерит абсолютно неважно, хоть на PHP, хоть на С++.

Werdna

Читай в соседнем треде кинул про фронтпейдж боян 5-летней давности...

bastii

Ладно, с браузерами понятно -- пхп программист должен знать особенности всех браузеров и явно ручками отражать это в своем коде, пхп никак не помогает.
Хорошо, второй вопрос: я правильно понимаю, что обычно сложная функциональность на странице, например, какое-нибудь дерево с динамической подгрузкой данных (плюс поддержка старых браузеров и т.д. реализуется посредством доставания любимого фрагмента кода, и подправлением его под данную страничку?

voronetskaya

под пхп есть куча шаблонизаторов, smarty например

artimon

пхп программист должен знать особенности всех браузеров и явно ручками отражать это в своем коде, пхп никак не помогает.
Не PHP-программист, а верстальщик. Хотя довольно часть это может быть одно и то же лицо.
Я вообще не понимаю как язык должен помогать в знании особенностей браузеров? Примеры можно?
Хорошо, второй вопрос: я правильно понимаю, что обычно сложная функциональность на странице, например, какое-нибудь дерево с динамической подгрузкой данных (плюс поддержка старых браузеров и т.д. реализуется посредством доставания любимого фрагмента кода, и подправлением его под данную страничку?
Да. Либо какая-нибудь библиотека функций генерирующих код (своя или чужая). А что, в других языках это не так?

bastii

Глянул smarty, по идее сильно облегчает жизнь.

bastii

Хорошо, просто интересно, кто пхп прогеров со стажем смотрел ASP.NET, т.е. конечно не для того, чтобы делать следующий проект (это я понимаю, Майкрософт, Винда -- вариант не подходит а так, чтобы посмотреть на реализацию другой идее. Интересно, что таки люди скажут.

artimon

Программисты на php уже давно не кодят на чистом php (без шаблонизаторов, библиотек функций и т.д.).
А какая идея в ASP.NET-то?

bastii

а ты смотрел?

artimon

Нет. Где ж я его возьму-то?

bastii

Идея, на мой взгляд такая: как в случае с использованием шаблонизаторов, добавляется еще одна фаза генерирования страницы, только в случае асп+ на этой фазе достигается гораздо большая абстракция. При этом внимание программиста смешается именно в эту фазу, где он оперирует в терминах взаимодействия контролов, как самостоятельных компонентов, которые инкапсулируют логику и представление, взаимодействуют друг с другом, страницей, ответом и запросом, внешними источниками данных.

bastii

Ну взять посмотреть ИМХО не проблема. Можно книжку Фрица Ониона почитать, там ничего лишнего, голая архитектура без мишуры -- за пару часиков осилить можно.

Werdna

smarty например
Как всегда, еще нашлись пидорасы, написавшие собвстенный шаблонизатор. Добавили работу верстальщикам, молодцы.
Нет, чтобы заюзать формат типа perlового HTML::Template... Всем было бы проще...
Кстати, для пхп есть шаблонизатор такой...

laki

а какой шаблонизатор вкомпили в 5ый пхп?

Werdna

а что, какой-то вкомпилили?
этот вроде что Скиф назвал внешний, типа PEAR

Dasar

> Проверяем HTTP_USER_AGENT и отдаём разные страницы. Куда уж проще-то?
> Но, опять же, IMHO, это самый неудачный способ делать кросс-браузерный HTML.
Если это не удачный пример, то зачем ты его привел?
Каким ты видешь хороший пример создания кросс-браузерного html-я?

artimon

Ты просил пример того, как разным браузерам отдавать разный код.
Правильнее сказать, что отдавать разным браузерам разный HTML -- это не самый удачный способ делать кросс-браузерные странички/сайты.
HTML сам по себе достаточно кросс-браузерен, проблемы начинаются c css и js.

Dasar

> Ты просил пример того, как разным браузерам отдавать разный код.
ок, переформулирую вопрос.
Как на php отдавать для разных браузеров разный код страниц, так чтобы можно было легко совместить работу трех человек:
дизайнера (человек, который определяет что и в каких местах на странице)
программиста (человек, который определяет, какие конкретно данные в каждый отдельный запрос выводятся на страницу)
верстальщика (человек, который определяет тонкости вывода под каждый браузер/платформу)
?
> HTML сам по себе достаточно кросс-браузерен, проблемы начинаются c css и js.
даже данный форум - например, отдает разный html, когда узнает браузер, и когда не узнает.

laki


> HTML сам по себе достаточно кросс-браузерен, проблемы начинаются c css и js.
даже данный форум - например, отдает разный html, когда узнает браузер, и когда не узнает.
kinfo.ru - говорит что я под ие, но я под оперой и никак ты не распознаешь.
Есть стандарт html. А дальше о кроссбраузерности стоит вопрос о браузере , как он интерпретирует вернувшийся хтмл, и от языка программирования тут ни хрена не зависит

bastii

Может быть по тому, что некоторые личности считают это проблемой браузеров, получается наблюдать сайты, которые не очень хорошо выглядят на некоторых браузерах.
А пример с Оперой ничего не меняет. Понятно, что сначала никто Оперу не знал, и поэтому имело смысл прикидываться ИЕ. Сейчас у меня 8ая версия, и она изначально идентифицирует Оперой.

laki

я к тому что есть стандарт, по идее любой сайт должен выдавать хтмл по стандарту, а интерпретация браузера зависит от него самого, и так что тут уже пользователь должен решать, что ему лучше и удобнее ну и главное качественно.
PS.
Кто-нить натравите валидатор W3C на любую страницу сверстанную http://www.design.ru/
ходили слухи что за ошибки увольнение

bastii

Ок, черт с ней, с этой кроссбраузерностью. Хотя, когда сайт криво показывает Опера (браузер, которым я хожу по инету я стараюсь найти ему альтернативу.

Dasar

Как быть если стандарт предусматривает несколько возможных способов отображения?
при этом, в результате, страница отображается сильно по разному

laki

пример! в студию

Dasar

например, браузер может поддерживать стандарт 3.2 или 4.0
поддерживать frame-ы или не поддерживать
поддерживать скрипты или не поддерживать
поддерживать css или не поддерживать
и т.д.

sat777

kinfo.ru - говорит что я под ие, но я под оперой и никак ты не распознаешь.
После этого не стоит удивляться, что у тебя плохо выглядит страница. Как говорится, взялся за гуж, не говори, что не дюж.

laki

опера w3c держит замечательно. так что не надо.

Helga87

Ну вот смотри, Дёнис.
Простой пример: мы хотим сделать страницу в стиле модного нынче веяния AJAX, т.е. не перегружая страницы.
Для реализации «динамической подгрузки» используют следующие средства:
В Internet Explorer: ActiveX-компонента с именем Msxml2.XMLHTTP или Microsoft.XMLHTTP.
В Mozilla и FireFox: встроенный класс XMLHttpRequest.
В Opera: динамически создаваемый <IFRAME> нулевого размера (скрытый).
Поэтому, если твоя Opera, честно раскрыв глаза и набравшись смелости, громко и уверенно заявит: "Я - IE!", и при этом сервер честно полагается на это заявление, ты обнаружишь, что ничего не работает. А теперь вопрос - кто в этом виноват, кроме тебя самого?

laki

дай код проверю

laki

а вообще опера себя предлагает так: что мол я интерпретирую хтмл как ие по в3ц, а дальше меня не и... то есть не волнует
Оставить комментарий
Имя или ник:
Комментарий: