Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Какая разница между <? и <?php

514
07 декабря 2007 года
swordholder99
165 / / 11.12.2006
Я установил AMP (Apache 2.0.45, PHP 5.2.0, MySQL4.0.16)
И теперь что очень удевительно apache не узнает <?, только <?php узнает.
Не смешно ли. В чем я не прав скажите пожалуйста.Где я ошибся???:confused:
1
07 декабря 2007 года
kot_
7.3K / / 20.01.2000
Цитата: swordholder99
Я установил AMP (Apache 2.0.45, PHP 5.2.0, MySQL4.0.16)
И теперь что очень удевительно apache не узнает <?, только <?php узнает.
Не смешно ли. В чем я не прав скажите пожалуйста.Где я ошибся???:confused:


<? является сокращенной формой оператора <?php. Не все интерпретаторы его обработывают.

251
07 декабря 2007 года
SkyMаn
1.7K / / 31.07.2007
Открываешь php.ini, меняешь там строки:
Цитата:
[COLOR="Gray"]; Allow the <? tag. Otherwise, only <?php and <script> tags are recognized.
; NOTE: Using short tags should be avoided when developing applications or
; libraries that are meant for redistribution, or deployment on PHP
; servers which are not under your control, because short tags may not
; be supported on the target server. For portable, redistributable code,
; be sure not to use short tags.[/COLOR]
[COLOR="Blue"]short_open_tag[/COLOR] = [COLOR="#0000ff"]On[/COLOR]


Наверняка там у тебя вместо On - Off стоит.

27K
07 декабря 2007 года
taj
39 / / 11.11.2007
Поэтому рекомендуеться использовать полную форму.
251
07 декабря 2007 года
SkyMаn
1.7K / / 31.07.2007
Цитата: taj
Поэтому рекомендуеться использовать полную форму.


Кем рекоммендуется? Почему?
Если у стоит соответственная настройка и есть уверенность в ней, то почему не надо ее использовать?

27K
07 декабря 2007 года
taj
39 / / 11.11.2007
phpmunal
Цитата:
Существует четыре набора тегов, которые могут быть использованы для обозначения PHP-кода. Из них только два (<?php. . .?> и <script language="php">. . .</script>) всегда доступны; другие могут быть включены или выключены в конфигурационном файле php.ini. Хотя короткие теги и теги в стиле ASP могут быть удобны, они не так переносимы, как длинные версии. Кроме того, если вы намереваетесь вставлять PHP-код в XML или XHTML, чтобы соответствовать XML, вам следует использовать форму <?php



Цитата:
Следует избегать использования коротких тегов при разработке приложений или библиотек, предназначенных для распространения или размещения на PHP-серверах, не находящихся под вашим контролем, так как короткие теги могут не поддерживаться на целевом сервере. Для создания переносимого, совместимого кода, не используйте короткие теги.

251
07 декабря 2007 года
SkyMаn
1.7K / / 31.07.2007
Цитата: taj
phpmunal


И? Почему же я нельзя использовать <? ..... ?> :)

27K
07 декабря 2007 года
taj
39 / / 11.11.2007
Блин, уже второй раз замечаю глюк быстрого редактирования сообщений !! :(
Не рекомендуеться как раз из-за случая ТС:
Цитата:
Note: Следует избегать использования коротких тегов при разработке приложений или библиотек, предназначенных для распространения или размещения на PHP-серверах, не находящихся под вашим контролем, так как короткие теги могут не поддерживаться на целевом сервере. Для создания переносимого, совместимого кода, не используйте короткие теги.


Автор скрипта который не заработал у ТС не задумывался вездели доступны эти теги.
Конечно, если это приватная разработка стоящяя на вашем собственном сервере использовать можно что угодно, но вот если ты пишеш, например, коммерческий движок магазина - чем постоянно отвечать на вопросы покупателей скрипта: "Почему не работает?" проще писать с нормальным тегом?

251
07 декабря 2007 года
SkyMаn
1.7K / / 31.07.2007
Цитата: taj
Блин, уже второй раз замечаю глюк быстрого редактирования сообщений !! :(


Что именно глючит?

Цитата: taj

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


Что и говорилось несколькими постами выше. Вопрос стоял именно так. :)
[QUOTE=SkyM@n]Если у стоит соответственная настройка и есть уверенность в ней, то почему не надо ее использовать?
[/QUOTE]

16K
07 декабря 2007 года
WorM
33 / / 11.06.2006
Цитата: SkyM@n
И? Почему же я нельзя использовать <? ..... ?> :)


совместимость

вывод XML документов внутри кода <?xml

27K
07 декабря 2007 года
taj
39 / / 11.11.2007
Мы сошлись во мнениях что в привате можно что угодно использовать :) Я же говорил что в public скриптах всё-таки лучше избегать использования коротких тегов.

З.Ы. По поводу глюков формы.
Первый глюк был замечен когда я добавлял сообщение с помощью формы быстрый ответ (не в этом топике). Сообщение добавилось нормально. Я перешёл к списку топиков этом разделе и увидел что в том топике создалась новая страница, я перешёл на неё - там была только что запощенная мессага. Я перешёл на придыдущую страницу, моё сообщение тоже было там. Я подумал что дабл пост сделал и потёр одну мессагу - удалились обе :(
Может это конечно фича такая (пост показывать и там и там), ХЗ.
Второй глюк был когдя я делал 6ой пост в этой теме. Сначала первую цитату добавил. Потом нажал редактировать и добавил вторую. Сообщение вроде как отредактировалось (я получил то что хотел), и я ушёл с форума. Потом увидел твой пост - последняя цитата пропала :(
251
07 декабря 2007 года
SkyMаn
1.7K / / 31.07.2007
Цитата: WorM
совместимость
вывод XML документов внутри кода <?xml


То есть? :)

16K
07 декабря 2007 года
WorM
33 / / 11.06.2006
попробуй вывести xml-документ внутри кода с включенными короткими тегами и сам все поймешь)

ну а про совместимость ты здесь найдешь http://forum.codenet.ru/showpost.php?p=224706&postcount=3
251
07 декабря 2007 года
SkyMаn
1.7K / / 31.07.2007
Цитата: WorM
попробуй вывести xml-документ внутри кода с включенными короткими тегами и сам все поймешь)


Юзал - все работает на ура, как неудивительно.
Давайте [COLOR="Red"]не[/COLOR] на "ты", ОК? На личности переходить не будем.
А теперь вместе учим английский язык:

Цитата:
...because short tags may not be supported on the target server. For portable, redistributable code, be sure not to use short tags.


У нас тут понятно написано, что короткие теги могут не использоваться на целевом сервере и что для портабельности кода (читайте - совместимости с другими интерпретаторами на других серверах), надо быть уверенным, что короткий формат тегов не используется.
То есть, как я говорил сначала:

Цитата:
Если стоит соответственная настройка и есть уверенность в ней, то почему не надо ее использовать?



[QUOTE=taj]Мы сошлись во мнениях что в привате можно что угодно использовать Я же говорил что в public скриптах всё-таки лучше избегать использования коротких тегов[/QUOTE]
На самом деле, я про это говорил еще вначале.
Я не говорил, что нужно их использовать везде, я говорил, что ничего не мешает их использовать у себя на локалхосте ИЛИ если есть уверенность в том, что на сервере есть (и будет) поддержка этих тегов.

16K
07 декабря 2007 года
WorM
33 / / 11.06.2006
Цитата:
Юзал - все работает на ура, как неудивительно

хочешь сказать что прокатит такая конструкция?)

 
Код:
#index.php

<?xml version="1.0"?>
<root>
    <bla><? echo "bla bla bla" ?></bla>
</root>
15
07 декабря 2007 года
shaelf
2.7K / / 04.05.2005
Да, прокатит.
251
07 декабря 2007 года
SkyMаn
1.7K / / 31.07.2007
Цитата: WorM
хочешь сказать что прокатит такая конструкция?)
 
Код:
#index.php

<?xml version="1.0"?>
<root>
    <bla><? echo "bla bla bla" ?></bla>
</root>


А вы хотите сказать, что нет? И чем мотивируете? Рад, что этот топик пригодился и Вам. :)

taj, с форумом все ок. Кроме того, глюки могут быть в броузерах и в других местах ;)

7.9K
07 декабря 2007 года
vasa_c
191 / / 05.04.2007
С определенной периодичностью на форумах возникает подобный вопрос. И каждый раз начинается обсуждение на несколько страниц :)
251
07 декабря 2007 года
SkyMаn
1.7K / / 31.07.2007
Может добавить в фак?
244
07 декабря 2007 года
UAS
2.0K / / 19.07.2006
Не вижу смысла обсуждения этого вопроса. У каждого своего привычка писать. Это все равно, что начнем спорить, как писать..
Так:
 
Код:
function foo() {
    return 1;
}

или
 
Код:
function foo()
{
    return 1;
}


У каждого своя привычка. Но я предпочитаю писать <?php, проблем меньше
251
07 декабря 2007 года
SkyMаn
1.7K / / 31.07.2007
UAS, это совсем другое. Наличие пробелов и символов \х10 \х13 не влияет на работу скриптов на любом хостинге, а вот сокращенные теги - влияют. Если нет поддержки этих тегов, то имхо код будет выводиться просто как текст.
15
07 декабря 2007 года
shaelf
2.7K / / 04.05.2005
Для каждого проекта есть такое понятие как "Стандарт кодирования", где вся эта байда прописана.
PS Ребят, давайте закругляйтесь, а то флеймить начинаем.
16K
08 декабря 2007 года
WorM
33 / / 11.06.2006
Цитата: SkyM@n
А вы хотите сказать, что нет? И чем мотивируете?

PHP с short_open_tag = on встречая такую строку

 
Код:
<?xml version="1.0"?>
начинает интерпретировать ее как блок кода. так что господа гуру этого форума прежде чем писать что прокатит сначала проверьте.

пс.
Цитата: SkyM@n
Рад, что этот топик пригодился и Вам. :)

251
08 декабря 2007 года
SkyMаn
1.7K / / 31.07.2007
Цитата: WorM
PHP с short_open_tag = on встречая такую строку
 
Код:
<?xml version="1.0"?>
начинает интерпретировать ее как блок кода. так что господа гуру этого форума прежде чем писать что прокатит сначала проверьте.
пс.


WorM, проверил и посмотрел, как проверяют другие, вот тут. Или вот здесь.

ЗЫ. Не спортьте, курите маны ;)

16K
08 декабря 2007 года
WorM
33 / / 11.06.2006
Цитата: SkyM@n
ЗЫ. Не спортьте, курите маны ;)

без вопросов

http://php.novgorod.ru/manual/ru/ini.core.php#ini.short-open-tag

Цитата:
short_open_tag boolean
Определяет, разрешается ли короткая форма записи (<? ?>) тегов PHP. Если вы хотите использовать PHP в комбинации с XML, вы можете отключить эту опцию, чтобы беспрепятственно использовать <?xml ?>. В противном случае, вы можете отобразить это при помощи PHP, например: <?php echo '<?xml version="1.0"'; ?>. Если же эта опция отключена, вы должны использовать длинную форму открывающего тега PHP (<?php ?>).

Замечание: Эта директива также влияет на сокращение <?=, которое идентично записи <? echo. Для использования этого сокращения, директива short_open_tag должна быть включена.

251
08 декабря 2007 года
SkyMаn
1.7K / / 31.07.2007
Рад, что Вы наконец поняли. :)
16K
08 декабря 2007 года
WorM
33 / / 11.06.2006
мда...свои ошибки тяжело признавать?)

интересует мнение других пользователей форума)
353
08 декабря 2007 года
Nixus
840 / / 04.01.2007
SkyM@n, при всем уважении, но WorM прав, даже по твоим ссылкам.
251
08 декабря 2007 года
SkyMаn
1.7K / / 31.07.2007
Ок, например. У человека стоит личный сервер, где включена поддежка коротких тегов.
При работе с ХМЛ он использует такой вариант записи:
 
Код:
<? echo '<?xml version="1.0"'; ?>

и у него 100% будет это работать. Он так же может использовать
 
Код:
<? echo <<<justXML
<?xml version="1.0">
justXML
;
?>

и это, как неудивительно будет работать.
Вопрос, с камими проблемами может столкнуться тот человек?
353
08 декабря 2007 года
Nixus
840 / / 04.01.2007
Не буду ударяться в спор, просто скажу, что такая конструкция
 
Код:
<?xml version="1.0"?>
<root>
    <bla><? echo "bla bla bla" ?></bla>
</root>

выдаст ошибку. Что он и утверждал, а ты и shaelf утверждали обратное.
251
08 декабря 2007 года
SkyMаn
1.7K / / 31.07.2007
Конечно выдаст, вот поэтому при включенных коротких тегах нужно использовать
Цитата:
<? echo '<?xml version="1.0">'; ?>
<root>
<bla><? echo "bla bla bla" ?></bla>
</root>


Напомню, сейчас спор не о том, что лучше, а о том, будет ли это работать :)

16K
08 декабря 2007 года
WorM
33 / / 11.06.2006
мной был приведен совершенно другой пример)


пс. вообщем что я хотел услышать я услышал...говноспор прекращаю

пс2. и мой вам совет если вы берете примеры из оф документации не нужно их переделывать а то в обоих ваших примерах есть ошибки ))
7.9K
08 декабря 2007 года
vasa_c
191 / / 05.04.2007
По теме можно сказать только следующее:
1. <? может не поддерживаться при определенных настройках
2. <? может иметь проблемы с <?xml
3. <? отнимает на несколько микросекунд меньше при наборе и на 3 байта меньше в файле.
4. Можно использовать синтаксис <?=$value;?>

Человек не знающих этих пунктов может внезапно столкнуться с непонятными ему проблемами.
Знающий выбирает то, что ему нравится.
251
08 декабря 2007 года
SkyMаn
1.7K / / 31.07.2007
Цитата: WorM

говноспор прекращаю
пс2. и мой вам совет если вы берете примеры из оф документации не нужно их переделывать а то в обоих ваших примерах есть ошибки ))


И правильно делаете, ведь и начинаеть его не надо было. :)
Как говорится, не зная броду - не лезь в воду. В римерах (в 2-х, помойму) допущены лишь синтаксические ошибки, которые сути не меняют и дают понять то, мысль их автора. Если при тестировании примеров вставить пропущенную скобку, то все будет работать - но это не существенно.
Так что, пожалуй, откажусь от ваших советов. Собственно, то, что я пытался доказать - я доказал. И я, и уважаемый shaelf - были и остались правы. Вот только флейм лишний именно ВЫ подняли, что было зря.
Желаю удачи. ;)

16K
09 декабря 2007 года
WorM
33 / / 11.06.2006
особенно порадовало про ваши доказательства )))

vasa_c все правильно расписал можно закрывать тему
251
09 декабря 2007 года
SkyMаn
1.7K / / 31.07.2007
Цитата: WorM
особенно порадовало про ваши доказательства )))


Еще раз рад, что вам понравилось :D

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог