[, $v1, $v2] = $v3; - подскажите пжл что это? Это список? Первый аргумент или значение (не знаю что это) пропущен почему-то. Давно хотел узнать, даже не знаю как это называется.
У кого-нибудь есть практический опыт применения методов-перехватчиков? Не могу вообразить ситуацию в которой без них не обойтись, к примеру без __cal(). При этом они возвращают значение, которое хотел присвоить клиентский код не существующему свойству/методу. Чем это может быть полезно? Если все равно такого свойства/метода не существует, то значение можно просто похерить со спокойной душой и все! Или я могу воспользоваться это шляпой как конструктором и проинициализировать свойство, присвоить ему значение и дальше использовать его в программе? - хотя это геморно как-то.
Оптимизайка, вот я тоже подумал потом, что горбатого он вылепил, сразу видно, опыт разработки от 5 лет)) Какие еще аргументы в теле функции.. А я тут гуглил незнал как обозвать эту запись. Спс за отклик.
Aisamiery, ВО-ВО! Через PDO соединяюсь. Спс за совет. Так, в этом случае prepare() достаточно будет? Наверняка этот метод должен включать в себя что-то наподобие mysqli_real_escape_string. Иначе смысл в PDO, если я могу сделать то же самое в ручную со всем необходимым функционалом?
---------- Добавлено 13.03.2019 в 04:29 ----------
Stek: Так это тоже самое фактически, только более правильный вариант. Главное учитывать, что ты должен работать с чистыми переменными, не прошедшими всякого рода экранировки.
Stek, конечно не существует абсолютной безопасности, однако есть мнение, что метода prepare недостаточно, типа каждую переменную нужно фильтровать перед подготовкой запроса (что раньше и делал).
miketomlin: use_linux, все три упомянутые вами ф-ции нужны для совершенно разных вещей ;)
На помойку выкинули mysql_escape_string() и то только потому, что ей на смену пришла mysqli_escape_string() ;)
---------- Добавлено 10.03.2019 в 12:31 ----------
P.S. Конкретно от SQL-инъекций спасает mysqli_escape_string(), но только в умелых руках :)
---------- Добавлено 10.03.2019 в 12:34 ----------
P.P.S. Но если значения предварительно проверены на предмет отсутствия «разрушающих запрос» символов/очищены от таких символов, то и эта ф-ция не нужна.
Вот у меня и возник такой вопрос: типа как стандартными средствами такую работу проделать, чтобы заново не изобретать велосипед)
Гуглить пробовал, только не долго :-) Я просто пытался понять не появилось ли что-нибудь новое. А то видите ли отстал немного (думал, что отстал) от времени. Спс за инфу.
silicoid, а разве присваивание значений не справа налево?
Ну вот врёшь ведь. PHP понимает эту конструкцию только начиная с версии 7.1,
Спс за ответ! Вру! Но не нарочно, т.к. начинал изучать PHP, когда в ходу было 4-я, а заканчиваю 7-й. В голове уже все смешалось давно)
---------- Добавлено 19.04.2019 в 06:36 ----------
Так что получается, в переменной справа сохраняется список, или значение переменной входит в него?
[, $v1, $v2] = $v3; - подскажите пжл что это? Это список? Первый аргумент или значение (не знаю что это) пропущен почему-то. Давно хотел узнать, даже не знаю как это называется.
У кого-нибудь есть практический опыт применения методов-перехватчиков? Не могу вообразить ситуацию в которой без них не обойтись, к примеру без __cal(). При этом они возвращают значение, которое хотел присвоить клиентский код не существующему свойству/методу. Чем это может быть полезно? Если все равно такого свойства/метода не существует, то значение можно просто похерить со спокойной душой и все! Или я могу воспользоваться это шляпой как конструктором и проинициализировать свойство, присвоить ему значение и дальше использовать его в программе? - хотя это геморно как-то.
* @param array $router
* @return mixed
*/
Джентльмены, подскажите пожалуйста, что за хуйня в приведенном выше куске PHP кода, которая предваряется знаком "@", для чего это?
Оптимизайка, вот я тоже подумал потом, что горбатого он вылепил, сразу видно, опыт разработки от 5 лет)) Какие еще аргументы в теле функции.. А я тут гуглил незнал как обозвать эту запись. Спс за отклик.
Sitealert, Ништяк, спс за инфу)
Aisamiery, ВО-ВО! Через PDO соединяюсь. Спс за совет. Так, в этом случае prepare() достаточно будет? Наверняка этот метод должен включать в себя что-то наподобие mysqli_real_escape_string. Иначе смысл в PDO, если я могу сделать то же самое в ручную со всем необходимым функционалом?
---------- Добавлено 13.03.2019 в 04:29 ----------
Так это тоже самое фактически, только более правильный вариант. Главное учитывать, что ты должен работать с чистыми переменными, не прошедшими всякого рода экранировки.
Stek, это я и хотел выяснить.
Stek, конечно не существует абсолютной безопасности, однако есть мнение, что метода prepare недостаточно, типа каждую переменную нужно фильтровать перед подготовкой запроса (что раньше и делал).
use_linux, все три упомянутые вами ф-ции нужны для совершенно разных вещей ;)
На помойку выкинули mysql_escape_string() и то только потому, что ей на смену пришла mysqli_escape_string() ;)
---------- Добавлено 10.03.2019 в 12:31 ----------
P.S. Конкретно от SQL-инъекций спасает mysqli_escape_string(), но только в умелых руках :)
---------- Добавлено 10.03.2019 в 12:34 ----------
P.P.S. Но если значения предварительно проверены на предмет отсутствия «разрушающих запрос» символов/очищены от таких символов, то и эта ф-ция не нужна.
Вот у меня и возник такой вопрос: типа как стандартными средствами такую работу проделать, чтобы заново не изобретать велосипед)
Гуглить не пробовали?
PHP filter xss
https://github.com/voku/anti-xss
и тд. для любителей ковырять с нуля.
Гуглить пробовал, только не долго :-) Я просто пытался понять не появилось ли что-нибудь новое. А то видите ли отстал немного (думал, что отстал) от времени. Спс за инфу.