Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Считаете ли Вы PHP текстовым интерпретатором?


Автор: Legislative 24.3.2008, 11:37
Считаете ли Вы PHP текстовым интерпретатором, не предназначенным ни для чего более? Считаете ли целесообразным использовать эту кроссплатформенную технологию в других областях?

Автор: MoLeX 24.3.2008, 11:40
Legislative для чего тебе этот социологический опрос?

Автор: Legislative 24.3.2008, 11:42
Чтобы понять, использует ли кто PHP в целях, отличных от работы с БД, разбором текста и применения ООП.

Автор: flashaa 24.3.2008, 11:47
Считаю, что PHP - в первую очередь шаблонизатор, но при этом он отлично подходит для много другого.

Автор: Kangaroo 24.3.2008, 11:47
Цитата(Legislative @  24.3.2008,  10:42 Найти цитируемый пост)
применения ООП. 

PHP используют в целях применения ООП? И где ж ты такое видел? 

Автор: mishaSL 24.3.2008, 11:50
Цитата(Legislative @  24.3.2008,  11:42 Найти цитируемый пост)
использует ли кто PHP в целях, отличных от работы с БД, разбором текста и применения ООП

Вы считаете, что это "текстовый интерпретатор" smile 
Я считаю, что PHP идеально подходит для web решений практически любого уровня сложности.

Автор: MoLeX 24.3.2008, 11:51
PHP: Hypertext Preprocessor — скриптовый язык программирования, созданный для генерации HTML-страниц на веб-сервере и работы с базами данных.

взять для примера мясорубку - она предназначена не только для того что бы молоть мясо, её можно и овощи и другое перерабатывать, так почему бы и РНР не использовать для чего то друго? Только следует задуматься, а надо-ли это?

Добавлено через 2 минуты и 32 секунды
Цитата(Legislative @  24.3.2008,  11:42 Найти цитируемый пост)
Чтобы понять, использует ли кто PHP в целях, отличных от работы с БД, разбором текста и применения ООП.

а ICQ-бот в какое направление подходит?

Автор: Legislative 24.3.2008, 11:54
Я как раз не считаю, что это "текстовый интерпретатор"

То Kangaroo : имелось ввиду, что для облегчения создания больших проектов можно применить ООП в том виде, в каком оно имеется в языке.

Автор: ksnk 24.3.2008, 11:58
А я вот, в частности, использую php как встроенный скриптовый язык в приложении. Впрочем, как я его ни пристраивал, толком работать он начал только в составе web-броузера из того-же приложения, так что  получившийся монстр все равно очень напоминает Апач. (Как не собираю, все равно автомат получается ;-()

Автор: Legislative 24.3.2008, 11:58
То MoLeX : работа с сетевым траффиком по сути есть разбор данных/текста.

Автор: MoLeX 24.3.2008, 12:03
Цитата(Legislative @  24.3.2008,  11:58 Найти цитируемый пост)
работа с сетевым траффиком по сути есть разбор данных/текста.

тогда практически все что связано с вебом можно отнести к разбору данных\текста 

Автор: Legislative 24.3.2008, 12:15
А как насчет работы с портами (я задавал такой вопрос, и оттуда решил поднять такой опрос) и соответственно насчет работы с подключенным оборудованием?
А как насчет создания процессов, которые бы в фоновом режиме отрабатывали, пока обрабатывается десяток запросов?

Автор: Feldmarschall 24.3.2008, 12:18
Ну, траффик бывает разный. Есть текстовые протоколы, такие, как FTP, SMTP, HTTP. И с ними проблем нет.
асечный же протокол, как мне кажется - бинарный. Хотя я и могу ошибаться.
С другой стороны, и с бинарным, в общем-то, работать не сильно сложнее, чем с текстовым. 

Другое дело, есть такое понятие, как "специализированный язык".
К примеру, в PHP есть туча специализированных функций для работы с HTTP - header, setcookie, apache_request_headers и прочая и прочая. Ни одной для работы с ком-портами я не видел.
В массиве $_SERVER - море переменных, относящихся к веб. И ни одной - к аппаратной части.

Добавлено @ 12:25
В этом смысле PHP - язык не столько для работы с текстом (в этом деле король - перл), а именно для работы с веб.
И именно в этой роли он вышвырнул перл с веб-серверов начисто. Хотя перл во многом мощнее пыха в работе с текстом.
То есть, специализация что-то, да значит.

А в плане работы с аппратным обеспечением пхп ничуть не лучше шелла или того же перла, или бейсика. 
И, насколько я могу судить по своему опыту, фразы типа "универсальный кроссплатформенный язык" обычно говорят люди, которые просто никаких других языков не знают. Обычно. Не всегда, но часто.

А ещё я хочу задать вопрос Legislative.
Скажи, все выскажутся против - ты откажешься от своей идеи писать работу с портами на РНР?

Автор: awers 24.3.2008, 12:49
Просто не стоит закрывать глаза на правду. Абривиатура PHP уже должна что-то говорить.
Да, пхп можно и кофе научить делать но ОСНОВНОЙ задачей пхп является работа с web-сервисами.


Legislative, тебя никто не будет останавливать, это было бы неправильно, но просто подумай, надо ли оно тебе?

Автор: bars80080 24.3.2008, 13:43
делаю им всё, что лень делать руками

наверно, потому, что я его лучше знаю, чем другие языки

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

Автор: Feldmarschall 24.3.2008, 13:45
bars80080, вот только этих самых форматов - кот наплакал =)

Автор: bars80080 24.3.2008, 13:57
это так первое что вспомнилось

может быть, но задач неисчислимое море, а искать под каждую прогу, ни времени, ни желания, 

Автор: flashaa 24.3.2008, 13:58
Цитата(bars80080 @  24.3.2008,  13:43 Найти цитируемый пост)
к примеру, вместо того чтобы разбираться с прогами по конвертированию изображений в нужные мне размеры и типы, легче было написать этот самый конвертор на пхп 

В Adobe Photoshop есть ф-ция batch, которая позволяет обрабатывать целые массивы файлов - это будет поудобнее, чем на php, да и возможностей заведомо больше, т.к. можно применять все фильтры и преобразования.

Автор: skyboy 24.3.2008, 14:30
Legislative, отлаживать программу на языке, изначально не расчитанном на "низкоуровневые" задачи - спорная идея.
смотри, как бы тебе в обходах тех "подводных камней" при работе с портами, о которых ты спрашивал, не пришлось писать/искать монитор(исключительно для отладки). И, опять же, не PHP будешь искать, а уже CGI.

Автор: bars80080 24.3.2008, 14:30
возможно, но там ведь не реализуешь простейшую комбинацию if...else

Автор: awers 24.3.2008, 15:02
bars80080, где? на С++?

Автор: flashaa 24.3.2008, 15:06
Цитата(bars80080 @  24.3.2008,  14:30 Найти цитируемый пост)
возможно, но там ведь не реализуешь простейшую комбинацию if...else 

Возможно, но мне она как-то была не нужна ) К примеру тебе надо сделать всем картинкам определенный размер, то просто прописываешь увеличение до это размера и картинки меняются, при этом  те, которые были уже увеличены, соответственно, не меняются. Или ты хочешь генерировать случайное слово а затем наносить его как водяной знак? Для такого наверно не получится, да. Хотя я точно не могу сказать  относительно условий.

А по поводу быстрых решений - иногда тоже юзаю PHP как программку и запускаю её в консоли.

Автор: bars80080 24.3.2008, 15:17
Цитата(awers @  24.3.2008,  14:02 Найти цитируемый пост)
bars80080, где? на С++? 
 в фотошопе. я ж говорю, что пхп знаю лучше чем остальное, а C то ++ вообще нет.

Цитата(flashaa @  24.3.2008,  14:06 Найти цитируемый пост)
К примеру тебе надо сделать всем картинкам определенный размер
 был такой случай, когда надо было привести картинки к нескольким стандартам. просто некоторые картинки были настолько мелкие, что увеличивать их в десять раз смысла нет, а зачем делить их вручную, если прога сама всё сделает



Автор: awers 24.3.2008, 15:19
Цитата(bars80080 @  24.3.2008,  16:17 Найти цитируемый пост)
 был такой случай, когда надо было привести картинки к нескольким стандартам. просто некоторые картинки были настолько мелкие, что увеличивать их в десять раз смысла нет, а зачем делить их вручную, если прога сама всё сделает

я такое на пхп тоже делал. хочу сказать что отлично все получается ) и нафиг фотопоп ненужен

Автор: ksnk 24.3.2008, 15:24
Цитата(awers @  24.3.2008,  15:19 Найти цитируемый пост)
я такое на пхп тоже делал

И я такое делал... Потом, правда, переделывал в IfranView, качество оказалось посредственным... smile

Автор: awers 24.3.2008, 15:24
а вообще пункт "нет, PHP может все и не надо зацикливаться на этом", это правокационно просто ) я бы тоже хотел так ответить, иначе обидно становится )

Автор: flashaa 24.3.2008, 15:30
Цитата(awers @  24.3.2008,  15:19 Найти цитируемый пост)
и нафиг фотопоп ненужен

Просто на фотошопе быстрее чем писать программу, вот для чего. Кликнул пару раз, поставил на обработку и ушел. А прогой то все ришишь, но по времени не всегда эффективно.  smile 

ksnk, вот вот. Фельдмаршал уже обмолвился о том, что GDI достаточно дохленькая - к примеру нельзя задать качество сжатия jpeg - это же несерьезно. В принципе наверно нормально получилось c imagemagick.

Автор: Fortop 24.3.2008, 15:48
Цитата(flashaa @  24.3.2008,  15:30 Найти цитируемый пост)
к примеру нельзя задать качество сжатия jpeg - это же несерьезно

Как это нельзя?

Цитата
bool imagejpeg ( resource $image [, string $filename [, int $quality]] )
quality
quality is optional, and ranges from 0 (worst quality, smaller file) to 100 (best quality, biggest file). The default is the default IJG quality value (about 75).
 

Но это не значит, что надо на PHP писать работу с компортами и прочим.

Автор: flashaa 24.3.2008, 15:58
Fortop, спасибо, полезное замечание. Может быть GDI ещё может работать с анимированным GIF (это вторая проблема, с которой сталкивался)?

Автор: Fortop 24.3.2008, 16:01
Насколько помню нет. Т.е. конвертирует оно их конечно - да. но только 1й кадр.

Автор: Feldmarschall 24.3.2008, 16:03
flashaa, нет, GD с анимированным гифом работать не умеет.
Но здесь важно не техническое умение, а на мой взгляд, принципиальная невозможность делать ресайз анимации. Слишком много тонкостей. рассинхронизация всего на один пиксель, что обычное дело при округлении, приведет к появлению белых пятен - и так далее. 
Размер, опять же, у анимашек обычно мелкий. Не говоря уже о размере отдельных фреймов. А что получается при уменьшении мелких картинок - лучше вообще не смотреть. Лучше уж тогда отключить антиалиасинг. А если его отключить, что получатся рваные края и те же белые пятна.

Я же говорил не о качестве джипега, а о мизерном количестве поддерживаемых форматов.


Автор: bars80080 24.3.2008, 16:35
ну, всё же подразумевается, что юзать пхп будет человек из вэба, а значит он побольшей части пользует три стандарта

кстати, "пхп может всё" - вылез вперёд

Автор: ksnk 24.3.2008, 17:22
Гы!
Цитата
да, основное предназначение PHP - разбор текста 
 
Как бы логично было бы "разбирать" тот самый html, препроцессором которого PHP и является..., однако без DOM, который толком вставлен только в 5-й PHP, разбирать html неэффективно. Мелкие задачи грабинга текстов и патчинга шаблонов, которые вполне поддаются несложным регуляркам, вряд ли стоит назвать - "разбор текста". 

Цитата
нет, PHP хоть и отстает в быстродействии, но язык развивается и производительность кода растет
 Вместе с производительностью компьютеров? Ну, в принципе, 5-й PHP работает немного быстрее 4-го, однако и рессурсов ест побольше... Принципиального развития язык не получил, разве что деструкторы объектов - вешь, которую сложно адекватно имитировать на php-4, остальное переписывается на 4-ку практически без потери функциональных особенностей. Я чего-нибудь упустил? ну, понятно, библиотечных функций стало поболе...

Цитата

нет, PHP может все и не надо зацикливаться на этом 

Не всё smile, анимированные гифки - не умеет..., но любим мы его не за это  smile 

Автор: webevt 24.3.2008, 18:16
Цитата(mishaSL @  24.3.2008,  11:50 Найти цитируемый пост)
Я считаю, что PHP идеально подходит для web решений практически любого уровня сложности. 

Абсолютно согласен.

3 вариант ответа.

Автор: ksnk 24.3.2008, 18:24
Цитата(webevt @  24.3.2008,  18:16 Найти цитируемый пост)
3 вариант ответа. 

не совпадает по смыслу с 
Цитата(webevt @  24.3.2008,  18:16 Найти цитируемый пост)
Я считаю, что PHP идеально подходит для web решений практически любого уровня сложности.


Автор: Legislative 25.3.2008, 01:25
To Feldmarschall:
1) php не первый мой язык, начиналось все с Паскаль, затем с/с++, ассемблером некоторое время занимался (и для ПК, и для микроконтроллеров), затем знакомился с php, Flash-технологиями и ActionScript 2, предпоследнее - perl, последнее C#.
2) все выскажутся против - не откажусь от своей идеи писать работу с портами на РНР, но стану относится к этому со скептицизмом.
Я получил дельный совет от awers (к сожалению не смогу ему добавить репутации). Но параллельно я все же напишу такой же код на php и сравню их работу.

То awers:
Нужно оно ли мне? Конечно.
Я смотрю на то, что возможная работа с портами на php и С++ мало чем отличается. Поэтому может есть смысл пробовать делать такие вещи и на php. Не хочется смешивать несколько языков в одном проекте. Здесь еще такой момент - подобные проекты могут делаться одним программистом php, а не двумя php и С++, значит это будет ПРОЩЕ с точки зрения организации проекта.

Автор: awers 25.3.2008, 01:34
Legislative, маловероятно что в никсах будет открыт доступ к девайсам для wwwroot, а на винде и вовсе своя политика безопасности по отношению к портам.

Автор: Legislative 25.3.2008, 01:49
Будет свой сервер. Мы его отконфигурируем так, как надо.

Добавлено через 3 минуты и 30 секунд
А вот с виндой действительно может выйти казус

Автор: Legislative 25.3.2008, 02:08
А в винде так нужно будет делать в приложении на C++:
1)CreateFile("COM1")
2)DeviceIOControl
.....

Добавлено через 9 минут и 28 секунд
да еще с асинхронным вводом/выводом. Прелесть!

Добавлено через 10 минут и 35 секунд
Значит для виндовой реализации соответствующего модуля php проблем нет.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)