Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Для чего используются эти скобки? 
:(
    Опции темы
BASILIO
Дата 21.3.2008, 19:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Koté-CAH
*


Профиль
Группа: Участник
Сообщений: 135
Регистрация: 25.2.2008

Репутация: нет
Всего: нет



Сабж

{}

В теме о безопасности в ПХП было написано что переменные в них заключать надо, можете обяснить что будет при этом происходить?

Зарание Спасибо
PM   Вверх
Feldmarschall
Дата 23.3.2008, 13:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



во-первых, непонятно, почему вопрос про синтаксис РНР задан в разделе по MySQL 
во-вторых, про синтакстис РНР надо читать в документации РНР: http://php.net/types.string
в-третьих, к безопасности это не имеет никакого отношения.
PM   Вверх
skyboy
Дата 24.3.2008, 01:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Feldmarschall, странно. видел эту тему в PHP. возможно, кто-то промахнулся при переносе темы.
PM MAIL   Вверх
BASILIO
Дата 24.3.2008, 01:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Koté-CAH
*


Профиль
Группа: Участник
Сообщений: 135
Регистрация: 25.2.2008

Репутация: нет
Всего: нет



skyboy, нет, тему создавал в майсквл



Feldmarschall, 

1. Насколько я помню, скобки были в синтаксе сквела, потому сюда
2. Не все способны понять текст мануала, я часто не понимаю мануалы, чтоб мне понять один мануал часто надо прочитать ешчё штук 10, потому спрашиваю у людей, которые могут подскозать напрямую на понятном языке, если нету желания помочь, не вижу смысла писать в теме
3. -Ето было, написано в теме о безопасности, тама как типа бороться против сквл-инэкций
PM   Вверх
awers
Дата 24.3.2008, 02:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

Репутация: 21
Всего: 31



BASILIO, 
Код

$string = "fasdhf shdfkh shkfj {$object->val}";


Ты это имел в виду? Конечно ненадо. Правильно так:
 
Код

$string = 'fasdhf shdfkh shkfj '.{$object->val};


засыпал, сорри ))) конечно я имел в виду 
 
Код

$string = 'fasdhf shdfkh shkfj '.$object->val;


Это сообщение отредактировал(а) awers - 24.3.2008, 12:41
PM MAIL WWW ICQ Skype   Вверх
DioNiR
Дата 24.3.2008, 03:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 130
Регистрация: 30.12.2006

Репутация: нет
Всего: нет



По мне лучше уж писать так:
Код
$a = 'sdgsdgdsg '.$b.' sDgsdg ';

нежели
Код
$a = 'sdgsdgdsg {$b} sDgsdg ';


Так как не все редакторы подсвечиваются второй пример. Когда в пером он подсветит где переменная а где текст.
В целях безопасности эти варианты идентичны. Впринципи тут не иммет роль как ты напишешь на безопасность тут не повлияет. Повлияет только время загрузки. Так как
Код
$a = 'sdgsdgdsg $b sDgsdg ';

Будет работать дольше нежели 
Код
$a = 'sdgsdgdsg '.$b.' sDgsdg ';

Код
$a = 'sdgsdgdsg {$b} sDgsdg ';

--------------------
Думали это конец? Ха, всё только начинается.
PM MAIL   Вверх
szz
Дата 24.3.2008, 04:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1289
Регистрация: 31.5.2005
Где: Moscow, Jerusalem

Репутация: 8
Всего: 33



DioNiR, 
Код
$a = 'sdgsdgdsg $b sDgsdg ';
 ообще работать не будет. Двойные имел ввиду?


--------------------
PM   Вверх
BASILIO
  Дата 24.3.2008, 05:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Koté-CAH
*


Профиль
Группа: Участник
Сообщений: 135
Регистрация: 25.2.2008

Репутация: нет
Всего: нет



Ну и кому пришла в голову идея перенести тему?!?

ТЕМА ПРО MYSQL  ЗАПРОСЫ БЛИН

Добавлено через 5 минут и 37 секунд
Цитата(Alx @  8.1.2006,  16:37 Найти цитируемый пост)
Код

SELECT * FROM _tbl WHERE _cell = '{$cell}';


Вот -ето иммелось ввиду





ПС: Модератор, перенеси плз тему туда откуда взяли, и больше так не делайте, я данный форум знаю с его пелёнок и знаю что куда постить, так что не надо мне указывать куда мне постить, чтоб я не указывал напровление вашего похода. Спасибо
PM   Вверх
TUMS
Дата 24.3.2008, 06:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 61
Регистрация: 16.3.2008

Репутация: 2
Всего: 3



Модератор прав, ибо {$cell} берётся из PHP.
Поэтому комментарии предыдущих авторов тоже верны.
PM MAIL WWW ICQ Skype GTalk Jabber MSN   Вверх
Feldmarschall
Дата 24.3.2008, 10:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



BASILIO, 
Цитата(BASILIO @  24.3.2008,  01:17 Найти цитируемый пост)
1. Насколько я помню, скобки были в синтаксе сквела, потому сюда

К синтаксису SQL эти скобки не имеют никакого отношения.
Цитата(BASILIO @  24.3.2008,  01:17 Найти цитируемый пост)
2. Не все способны понять текст мануала, я часто не понимаю мануалы, 

Если тебе что-то непонятно, то надо показать конкретное место в мануале, которое ты не понял, и попросить разъяснений.
В данном же случае, я считаю, ты просто поленился прочитать, и даже не открывал мануал.
Цитата(BASILIO @  24.3.2008,  01:17 Найти цитируемый пост)
если нету желания помочь, не вижу смысла писать в теме

убедительно прошу воздержаться от подобных заявлений, оскорбляющих меня, как профессионала. В противном случае буду вынужден обратиться к администрации.
Цитата(BASILIO @  24.3.2008,  01:17 Найти цитируемый пост)
3. -Ето было, написано в теме о безопасности, тама как типа бороться против сквл-инэкций 

Либо там написана глупость, либо ты неправильно понял.
PM   Вверх
skyboy
Дата 24.3.2008, 14:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(BASILIO @  24.3.2008,  00:17 Найти цитируемый пост)
сли нету желания помочь, не вижу смысла писать в теме


 ! 
skyboy
Не переходи на личности и не закрывай никому рот.


PM MAIL   Вверх
flashaa
Дата 24.3.2008, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 796
Регистрация: 7.3.2006

Репутация: 19
Всего: 25



Цитата(awers @  24.3.2008,  02:12 Найти цитируемый пост)
BASILIO, 
1:
    
$string = "fasdhf shdfkh shkfj {$object->val}";


Ты это имел в виду? Конечно ненадо. Правильно так:
 

$string = 'fasdhf shdfkh shkfj '.{$object->val};


засыпал, сорри ))) конечно я имел в виду 
 

$string = 'fasdhf shdfkh shkfj '.$object->val;


Awers, а что плохого в "... {$object->val}" ? 
PM MAIL   Вверх
awers
Дата 24.3.2008, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

Репутация: 21
Всего: 31



flashaa, скорость работы. изначально все что в ' '  - считается текстом и пхп не ищет внутри переменные, все что заключено в " " - это смешанный тескт и переменные. Обработка "фыволдра ыов лоролр {$myVar}" будет дольше чем 'фыволдра ыов лоролр '.$myVar 

Советую почитать статьи по оптимизации кода и еще неплохо было бы посмотреть исходники пхп.
PM MAIL WWW ICQ Skype   Вверх
Feldmarschall
Дата 24.3.2008, 15:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



Я думаю, это вопрос вкуса., и принципиальной разницы нет.
Хотя второй вариант читабельнее в большинстве систем с подсветкой кода.

Добавлено через 59 секунд
Ой, awers, вот только это не надо, плиз.
Ну не бывает ситуаций, когда скорость обработки строк в разных кавычках хоть на что-нибудь влияла бы
PM   Вверх
awers
Дата 24.3.2008, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

Репутация: 21
Всего: 31



Feldmarschall, там где на сервер очень большие нагузки - разница есть. Проверял сам. Да, это не 3-5%, но 1-1,5 будет (ну конечно от ситуации и количества таких использований)
PM MAIL WWW ICQ Skype   Вверх
flashaa
Дата 24.3.2008, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 796
Регистрация: 7.3.2006

Репутация: 19
Всего: 25



awers, я думаю одна переменная в такой строке увеличит время работы на одну милиярдную секунды ) К тому же конкатенация - тоже операция и она не моментально выполняется. Хотя вообщем я с тобой согласен. Но в последнее время немного раздражает писать отдельные строки, это получается несколько дольше, чем написать переменную в двойных кавычках. К тому же редакторы подсвечивают переменную в строке и она не теряется из вида, а фигурные скобки гарантируют то, что имя переменной не сольется с какой-нибудь частью строки.
PM MAIL   Вверх
awers
Дата 24.3.2008, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

Репутация: 21
Всего: 31



flashaa, в случае с использованием "sjkfhjsdh {$var}" это да, но тут фигурные скобки были сделаны по большей части для обращения к сложным объектам типа "zahsadhf {$obj->data[$silver]->get()->row(1)}" ...
PM MAIL WWW ICQ Skype   Вверх
Feldmarschall
Дата 24.3.2008, 15:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



Неправда.Там и 0,01 процента не будет.
Учитывая поднимающийся апач, кучу файловых операций, не говоря уже об обработке запросов и получении данных - на этом фоне парсинг строк вообще незаметен. покажи мне тест, который запускает apache benchmark, эмулируя "очень большие нагузки", и показывает хоть какую-то разницу.
Тесты "мильён итераций бессмысленных операций" давно уже никого не впечатляют.

PM   Вверх
flashaa
Дата 24.3.2008, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 796
Регистрация: 7.3.2006

Репутация: 19
Всего: 25



Предлагаю просто посмотреть исходники PHP там где идет парсинг строк и где конкатенация )
PM MAIL   Вверх
awers
Дата 24.3.2008, 15:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

Репутация: 21
Всего: 31



хотя бог его конечно знает что они смогли выдавить из 5ого пхп, может и вправду почти одинаково. может вечерком посмотрю исходники, на работе нет
PM MAIL WWW ICQ Skype   Вверх
Feldmarschall
Дата 24.3.2008, 15:48 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



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

PM   Вверх
Fortop
Дата 24.3.2008, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Цитата(Feldmarschall @  24.3.2008,  15:48 Найти цитируемый пост)
А здесь эти неразличимые взгляду затраты прямо бревном в глазу стоят у некоторых.

Лучше бы это smile Написал статью о правильной архитектуре приложений и проектировании систем. Чтобы народ не мучался с оптимизациями.
Я лично, с удовольствием бы почитал


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
awers
Дата 24.3.2008, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

Репутация: 21
Всего: 31



Вообще пошла уже религия, я небуду спорить, просто мне бы хотелось делать правильно. Может это и некчему, но всеже
PM MAIL WWW ICQ Skype   Вверх
bars80080
Дата 24.3.2008, 17:06 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



да оно просто понятней выглядит
Цитата(Feldmarschall @  24.3.2008,  14:07 Найти цитируемый пост)
Хотя второй вариант читабельнее в большинстве систем с подсветкой кода.

когда начинается чехарда с переменными, а потом с пмассивами, да не простыми, а многомерными, а тем более с объектами в этих двойных кавычках, то легко запутаться и потом лезть на форум с вопросом: почему не работает?
а так сцепил их наподобии состава и сразу видно, вот переменная, вот чистый текст
PM MAIL WWW   Вверх
BASILIO
Дата 24.3.2008, 19:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Koté-CAH
*


Профиль
Группа: Участник
Сообщений: 135
Регистрация: 25.2.2008

Репутация: нет
Всего: нет



Дискуссия у вас интерсная, много чего есть почитать, но всё равно не нашол ответа на вопрос


Какую роль играют ковычки в этом коде?

Цитата(BASILIO @  24.3.2008,  05:53 Найти цитируемый пост)
Код

SELECT * FROM _tbl WHERE _cell = '{$cell}';


PM   Вверх
Feldmarschall
Дата 24.3.2008, 19:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



Все, что нужно знать про безопасность SQL, кавычки и синтаксис запросов. Если у тебя возникает какой-то вопрос по этим темам - идешь и читаешь.

Это сообщение отредактировал(а) Feldmarschall - 24.3.2008, 19:50
PM   Вверх
awers
Дата 24.3.2008, 20:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

Репутация: 21
Всего: 31



BASILIO, ты привел не полный код. скорее всего это 
Код

$cell = "mycell";
$query = "SELECT * FROM _tbl WHERE _cell = '{$cell}';";


это просто экранировка переменной, во избежании сливания с простым текстом
PM MAIL WWW ICQ Skype   Вверх
Feldmarschall
Дата 24.3.2008, 22:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



awers, думаешь, он спрашивает не про кавычки, а про скобки? 
Вообще да, может быть. 
PM   Вверх
BASILIO
Дата 24.3.2008, 22:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Koté-CAH
*


Профиль
Группа: Участник
Сообщений: 135
Регистрация: 25.2.2008

Репутация: нет
Всего: нет



Да, я спрашивал про скобки, сверху немного опечатался.

Что означает:


Цитата(awers @  24.3.2008,  20:25 Найти цитируемый пост)
экранировка переменной



?
PM   Вверх
Feldmarschall
Дата 24.3.2008, 22:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



Что это означает, написано по ссылке, которую я привел в самом первом ответе на твой вопрос.
Давай ты хотя бы попытаешься прочесть, и только потом, если что-то будет непонятно, будешь задавать вопросы.
PM   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0796 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.