Покинул форум
Сообщений всего: 882
Дата рег-ции: Март 2010
Помог: 1 раз(а)
В html можно указать версию языка, которую используешь. А в php можно ли как-то указать, что использовал, например, синтаксис языка php 4? Или нужно подбирать сервер, на котором стоит интерпретатор той версии, которую ты использовал?
caballero
Отправлено: 21 Сентября, 2011 - 22:44:50
Активный участник
Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011 Откуда: Харьков
Помог: 126 раз(а)
в HTML ты указываешь версию для браузера хотя в большинстве случаев это не имеет смысла
а в PHP кому будешь указывать
компилятор и сам разберется либо скомпилит либо нет
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
ппц))) (Добавление)
скажите интерпретатору что вы хотите 4 пхп а не 5пхп
и ответ сюда выложите))) (Добавление)
тогда конечно поможем
а иначе недостаточно инфы (Добавление)
убейте меня)))
OrmaJever
Отправлено: 21 Сентября, 2011 - 23:02:57
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
между прочим зря вы так, автор задал вполне нормальный вопрос. Pavelbeginner к сожалению такого зделать нельзя, но така функция очень бы не помешала!
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
Pavelbeginner
Отправлено: 21 Сентября, 2011 - 23:19:55
Частый посетитель
Покинул форум
Сообщений всего: 882
Дата рег-ции: Март 2010
Помог: 1 раз(а)
[quote=caballero]в HTML ты указываешь версию для браузера хотя в большинстве случаев это не имеет смысла[/quote]
Что значит не имеет смысла? Вы хоть знаете для чего предназначен doctype? Для того, чтобы указать по каким стандартам браузеру парсить код и как его интерпретировать. Стандартов куча, синтаксис разный, дефолтные значения css свойств разных тегов в разных версиях стандартов разные.
[quote=LIME]
ппц)))
(Добавление)
скажите интерпретатору что вы хотите 4 пхп а не 5пхп
и ответ сюда выложите)))
(Добавление)
тогда конечно поможем
а иначе недостаточно инфы
(Добавление)
убейте меня)))
[/quote]
Не вижу повода для смеха? Что юморного я напечатал? Вполне логично предположить наличие такой функции в php т.к. в браузерах такая функция имеется. Если бы такая функция была бы в php, то не нужно было бы подбирать сервер, на котором стоит именно та версия интерпретатора, которую Вы использовали.
[quote=OrmaJever][/quote]
Правильно ли я понимаю, что используя, например, синтаксис php 5, мне нужно искать сервер, на котором стоит интерпретатор именно этой версии языка? (Добавление)
caballero пишет:
а в PHP кому будешь указывать
компилятор и сам разберется либо скомпилит либо нет
Лучше не пишите глупости. Для начала знайте, что php интерпретируемый язык с неким элементом компиляции в виде байт кода.
OrmaJever
Отправлено: 21 Сентября, 2011 - 23:32:58
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
Pavelbeginner пишет:
Правильно ли я понимаю, что используя, например, синтаксис php 5, мне нужно искать сервер, на котором стоит интерпретатор именно этой версии языка?
да, если компилятор встретит непонятную синтаксическую конструкцию он выдаст Parse error. (Добавление)
хотя можно самому делать велосипед и использовать phpversion(), но лутше найти нормальный хостинг с php 5.3 и жить станет легче
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
caballero
Отправлено: 22 Сентября, 2011 - 00:20:38
Активный участник
Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011 Откуда: Харьков
Помог: 126 раз(а)
Цитата:
между прочим зря вы так, автор задал вполне нормальный вопрос
Не считая что поставил телегу впереди лошади.
Цитата:
Если бы такая функция была бы в php, то не нужно было бы подбирать сервер, на котором стоит именно та версия интерпретатора, которую Вы использовали.
То есть с помощью некоей функции вы бы заставили компилятор 4 версии работать с PHP5?
Цитата:
того, чтобы указать по каким стандартам браузеру парсить код и как его интерпретировать.
Браузеры чихать хотели на doctype. В лучшем случае туда заглядывают когда неоднозначная ситуация в коде.
Цитата:
Для начала знайте, что php интерпретируемый язык с неким элементом компиляции в виде байт кода.
А шо это за некий элемент? Язык либо интерпретируется либо компилируется. В байт код или машинный код сути дела не меняет.
Цитата:
хотя можно самому делать велосипед и использовать phpversion(),
Замечательно - вы написали код для синтаксиса 5.3 а функция вернула что там 5.2 и что дальше? Препроцессора у PHP ведь нет как у С и С++.
и так же можно запросто написать 2 разных класа которые делают практически одно и то же
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
caballero
Отправлено: 22 Сентября, 2011 - 01:13:36
Активный участник
Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011 Откуда: Харьков
Помог: 126 раз(а)
Это еще может проконать для функций а как быть с синтаксическими конструкциями типа namespaces
И какой смысл писать два варианта кода который делает одно и то же если
один из вариантов будет работать в обоих версиях. Вы много проектов встречали где такую фигню бы городили?
Покинул форум
Сообщений всего: 882
Дата рег-ции: Март 2010
Помог: 1 раз(а)
caballero пишет:
То есть с помощью некоей функции вы бы заставили компилятор 4 версии работать с PHP5?
Речь идет о том, чтобы был интерпретатор, который считывая первую строку php файла определял какая версия языка используется и вызывал соответствующую версию интерпретатора. Да обычную обертку можно сделать даже. Программа открывает файл, смотрит версию языка, делает системный вызов fork, затем exac нужного интерпретатора. Всё. В чем проблема так сделать было разработчикам?
caballero пишет:
Браузеры чихать хотели на doctype. В лучшем случае туда заглядывают когда неоднозначная ситуация в коде.
Сразу видно, что Вы ничего не знаете о браузерах и вообще о вебе и тем более не верстали ни одного сайта. Мне даже отвечать Вам после такого заявление не хочется. Вы не знаете азов.
caballero пишет:
А шо это за некий элемент? Язык либо интерпретируется либо компилируется. В байт код или машинный код сути дела не меняет.
Я промолчу.
caballero
Отправлено: 22 Сентября, 2011 - 01:42:28
Активный участник
Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011 Откуда: Харьков
Помог: 126 раз(а)
Цитата:
Речь идет о том, чтобы был интерпретатор, который считывая первую строку php файла определял какая версия языка используется и вызывал соответствующую версию интерпретатора. Да обычную обертку можно сделать даже. Программа открывает файл, смотрит версию языка, делает системный вызов fork, затем exac нужного интерпретатора. Всё. В чем проблема так сделать было разработчикам?
Мы говорим о том что есть а не фантазируем что могло быть. Никто так компиляторы не делает ни для одного языка. Программист подстраивается под версию а не компилятор содержит надцать версий за последние 10 лет и переключается между ними.
Цитата:
Сразу видно, что Вы ничего не знаете о браузерах и вообще о вебе и тем более не верстали ни одного сайта
вебом занимаюсь уже 10 лет. А если ты свято веришь в doctype то объясни проблемму кроссбраузерности сайтов
Цитата:
Я промолчу.
Лучше промолчать чем писать глупости. PHP с 4 версии уже не интерпретатор
то есть не выполняется построчно как раньше.
Только не надо про байт код а то окажется что Java и C# тоже интерпретаторы
Или нужно подбирать сервер, на котором стоит интерпретатор той версии, которую ты использовал?
Если некорректно работает на более новой - исправлять/переписывать. Если же это не подразумевается, то да, найти хостинг, который поддерживает нужную версию.
----- PostgreSQL DBA
Ch_chov
Отправлено: 22 Сентября, 2011 - 12:56:05
Постоянный участник
Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008 Откуда: из города
Помог: 90 раз(а)
Pavelbeginner пишет:
А в php можно ли как-то указать, что использовал, например, синтаксис языка php 4
PHP 4 в новых проектах уже давно никто не использует. Есть смысл подумать над выбором между 5.2 и 5.3.
У любого php скрипта есть системные требования. Если вы пишете скрипт, который использует возможности PHP 5.3 , то указывайте это в README или ещё где то. Самый простой вариант:
exit('Для работы скрипта необходим сервер с поддержкой PHP 5.3');
caballero пишет:
И какой смысл писать два варианта кода который делает одно и то же если
один из вариантов будет работать в обоих версиях. Вы много проектов встречали где такую фигню бы городили?
Довольно много. Нативная php функция обычно быстрее самодельной. Если нет возможности её использовать, то во многих случаях имеет смысл сделать запасной вариант – fallback (пример).
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.