Типы и PHP

Тема в разделе "PHP программирование", создана пользователем vital, 17 ноя 2010.

  1. vital

    vital Больной Компом Детектед

    Регистрация:
    29 янв 2006
    Сообщения:
    2.468
    Симпатии:
    27
    Зря. У этого пхп из-за явного отсутствия типов - очень много проблем. С той же безопасностью, например.
    Да.. Такой бред может делать только С. Вот толькоy надо ли, а?)
     
  2. acorn

    acorn PHP Developer

    Регистрация:
    29 авг 2004
    Сообщения:
    599
    Симпатии:
    3
    ведь можно указать тип, если очень хочется. но почему-то этого никто не делает.
     
  3. ensane

    ensane Гость

    PHP провоцирует "неиспользование" типов. Из-за этого иногда бывают глупые ляпсусы.
     
  4. vital

    vital Больной Компом Детектед

    Регистрация:
    29 янв 2006
    Сообщения:
    2.468
    Симпатии:
    27
    Угу.
    например, ф-я strstr(), может вернуть 0, может false. При этом, проверка результата ее работы выглядит примерно так
    if strstr()==0 //один результат
    if strstr()==false //второй
    if strstr()===false //третий.

    Ну не бред ли?
    Не говоря уже, о классических ошибках в духе
    $id=$_GET['id'];
    и даллее mysql_query("...WHERE id=$id");
    Вот вам и готовая mysql injection.

    Когда, со строгими типами такого бы не было. А писать как-нить в духе $id=(int)$_GET['id']; далеко не у всех хвает ума. И вся беда в том, что пых _сам_ к этому провоцирует. т.е сам язык провоцирует к ошибкам, когда как все другие ЯП - ограждают.

    ну и вообще.. ПРо убогость пыха можно много написать..
     
  5. vital

    vital Больной Компом Детектед

    Регистрация:
    29 янв 2006
    Сообщения:
    2.468
    Симпатии:
    27
    Да и ксати говря. Указать можно, а вот строго задать - нет.
     
  6. acorn

    acorn PHP Developer

    Регистрация:
    29 авг 2004
    Сообщения:
    599
    Симпатии:
    3
    ORMы и фрэймворки в помощь

    чем бред? зато как красиво:
    if($isDefault) - и пофик там 0 или false или null... или if($idAccount) - аналогично.

    имхо, все эти проблемы высосаны из пальца и при нормальном подходе скорее плюс ;)

    а смысл?

    сорри за сумбурность, с днём студента всех :)
     
  7. vital

    vital Больной Компом Детектед

    Регистрация:
    29 янв 2006
    Сообщения:
    2.468
    Симпатии:
    27
    1. Ты забыл !
    2.
    Я тебе о том и написал. Что такая конструкция не всегда верна. Потому что может быть ==false а может быть ===false и это _разные_ случаи - поэтому не пофиг.
    К тому же, с нуллом, тоже не все так просто.
    3. if($isDefault) вот как раз такая конструкция возможна в любом языке с типом boolean =)
    Это тоже беда пыха, что что бы исправить недочеты языка надо использовать что-то дополнительное.
    Гугли книжки про безопасность скриптов=)
    При подходе таком, как был задуман изначально? в смеси хтмл+пхп, на маленьких хоумпейджах да. Но когда пишешь что-то мало-мальски серъёзное, следить за этим прораммисту _вместо_ интерпретатора - мне кажется глупо.
     
Загрузка...

Поделиться этой страницей