Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   Определение минимальной версии php файла (https://javascript.ru/forum/server/8569-opredelenie-minimalnojj-versii-php-fajjla.html)

PeaceCoder 02.04.2010 14:46

Определение минимальной версии php файла
 
Такая вот задача. Кто-то сталкивался с программами или скриптами, которые могли бы взять исходник кода на php и определить минимальную версию php в котором этот файл будет корректно работать?
Простейшим из вариантов мне видется такое решение: собрать все функции, классы и константы и задать для них версию в которой они появились. пройдясь по ним с поиском в исходнике определять минимум...

x-yuri 04.04.2010 12:13

да уж, задачка в твоем стиле ;) а что делать с функциями, поведение которых изменилось?

PeaceCoder 04.04.2010 12:24

Цитата:

Сообщение от PeaceCoder
да уж, задачка в твоем стиле

Да просто лень следить за функциями и т.п. которые применяются в модуле. А так пишешь модуль незадцмываясь, том хлоп и узнал минимальную версию пхп и указал в требованиях...
Цитата:

Сообщение от x-yuri
а что делать с функциями, поведение которых изменилось

Обычно и версия должна меняться...

x-yuri 05.04.2010 13:00

Цитата:

Сообщение от PeaceCoder
Обычно и версия должна меняться...

да, но как ты определишь нужную версию в данном случае? Например, preg_match.
Цитата:

5.2.2 Named subpatterns now accept the syntax (?<name>) and (?'name') as well as (?P<name>). Previous versions accepted only (?P<name>).
будем парсить регулярное выражение? А если оно передается через переменную? Напишем мини php-интерпретатор? Да и вообще, в идеале нужно перебрать все пути выполнения программы, чтобы узнать какие значения может принимать эта переменная. Хотя можно, конечно, ограничиться простейшими случаями

Gvozd 05.04.2010 14:05

Цитата:

Сообщение от PeaceCoder
А так пишешь модуль незадцмываясь

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

x-yuri 05.04.2010 15:43

почему? Я считаю, вполне заслуженно. Простой, популярный, используется толпой народа, "разной степени осведомленности". Но это ведь не значит, что на нем только быдлокод писать можно

а конкретное желание PeaceCoder (а не выдранный из контекста отрывок) вполне имеет место быть, но стоит ли игра свеч?

PeaceCoder 05.04.2010 20:32

Цитата:

Сообщение от x-yuri
да, но как ты определишь нужную версию в данном случае?

Это уже тонкости, и за этим уже по крайней мере надо следить программисту. Я же задался вопросом узнать версию пхп для того что бы скрипт вообще работал а не вылетал с крит ошибкой типо такой функции нет или синтаксис не поддерживается или еще что.
Да не спорю тут по любому прийдется писать мини парсер... вот и задался вопросом, существуют ли уже подобные?

x-yuri 05.04.2010 23:59

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

По поводу парсера... ну есть один, на C написан :) ну и tokenizer есть

B~Vladi 11.04.2010 23:30

PHP есть шаблонизатор:D имхо...
Так что под него мало чего серьёзного можно придумать...

Gvozd 11.04.2010 23:46

B~Vladi,
ну, пожалуй это твое ИМХО
для PHP есть множество библиотек для самых разнообразных нужд, что позволяет написать на нем достаточно много интересных вещей, использующих не только его шаблонизаторские функции, но и даже не связанных напрямую с веб-разработкой
я видел на PHP реализацию разных "неPHP"-шных прог:
аналог Total Comander-а(без веб-сервера, на GTK)
клиенты DC, torrent
и еще много чего можно на нем написать
пускай даже кто-то скажет, что он не для этого создан, но он на это способен, и ничто не мешает его для этого применять


Часовой пояс GMT +3, время: 07:48.