За последние 24 часа нас посетили 49711 программистов и 1731 робот. Сейчас ищут 626 программистов ...

PHP type hinting — строгое или мягкое?

Тема в разделе "Прочие вопросы по PHP", создана пользователем Psih, 27 май 2010.

  1. Psih

    Psih Активный пользователь
    Команда форума Модератор

    С нами с:
    28 дек 2006
    Сообщения:
    2.678
    Симпатии:
    6
    Адрес:
    Рига, Латвия
    http://habrahabr.ru/blogs/php/94714/

    Я требую что бы участники сего форума высказались в топике на хабре :) Ибо буду результат дисскусии слать в PHP mailing list :)
     
  2. Simpliest

    Simpliest Активный пользователь

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    Лажу вы там пишете.

    80% высказавшихся не поняли о чем речь.

    3-4 дельных высказывания просто потонули в толпе ...овен.
     
  3. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    а можно оставить как еть?
     
  4. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    ммм а в чем соль?
    ну проверил переменную где надо какого она тип где надо
    ну привел ее к нужному типу если надо...
    по моему и так норм
     
  5. Simpliest

    Simpliest Активный пользователь

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    Соль в этом
    Это было бы идеально.

    А так... мягкое/твердое - не играет существенной роли.
    Но визгу то...
     
  6. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    Так а хотят то чего? В двух словах? Сторонники и противники? А то читать лень рассылку.
    Вопрос о том, как будет работать function test (int $x) при приходе строкового параметра?
     
  7. Simpliest

    Simpliest Активный пользователь

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    да.
    в первом варианте будет исключение, во втором варианте или приведется к числу или будет исключение :)

    Upd: уточнение - это то о чем речь идет на хабре и как все преподнес Psih
    А вот что хотят в php.internals я пока не дочитал, там порядка 70 сообщений.
     
  8. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    А... имхо, исключение =) Ибо, PHP конечно язык фривольный с типами, но если уже руками сказали "int" - то должен быть int. Просто из соображений того, что если человек пишет в стиле жесткой типизации (его же никто int не заставляет писать обязательно), то и поведение должно быть как в языках с жесткой типизацией.

    А то, знаете, можно договорится и до того, что $x=(int)$y совсем не обязательно должен int возвращать - может и строка сойдет - какая фиг разница.

    Ну а специально для облегчения проблем с базой и т.д. можно ввести тип numeric, по аналогу функции is_numeric.
     
  9. Simpliest

    Simpliest Активный пользователь

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    MiksIr
    :) полностью солидарен.
     
  10. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    PS: а свои типы данных - это жостка =)
     
  11. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Надо как в Си типы и не париться, только чтобы стандартный набор был пошире, и приведение полегче.
     
  12. Костян

    Костян Активный пользователь

    С нами с:
    12 ноя 2009
    Сообщения:
    1.724
    Симпатии:
    1
    Адрес:
    адуктО
    я тоже за, запарило ручками приводить и кучу говнокода для этого писать.
    только вот
    Чёто я не раздуплил, нужна запятая для float ?
     
  13. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    Причину со следствием перепутали =)
     
  14. Locale dependent.

    Пока это опционально - я считаю, это нужно.
     
  15. Костян

    Костян Активный пользователь

    С нами с:
    12 ноя 2009
    Сообщения:
    1.724
    Симпатии:
    1
    Адрес:
    адуктО
    флоппик
    ну раз так, то да
     
  16. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    тогда чтобы в конфе можно было вкл/выкл
     
  17. зачем?
    Ты тоже не прочел, да?
     
  18. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    я про п1. да и про 2.
    короче я консерватор и точка.
    но попытка не пытка, да.
     
  19. Psih

    Psih Активный пользователь
    Команда форума Модератор

    С нами с:
    28 дек 2006
    Сообщения:
    2.678
    Симпатии:
    6
    Адрес:
    Рига, Латвия
    Имелось ввиду в int не превращается - ошибку выдаёт.
     
  20. Костян

    Костян Активный пользователь

    С нами с:
    12 ноя 2009
    Сообщения:
    1.724
    Симпатии:
    1
    Адрес:
    адуктО
    Psih
    имелось в виду или очепятка? Если да )) , то про запятую тоже ничё так.
     
  21. tenshi

    tenshi Активный пользователь

    С нами с:
    1 июн 2010
    Сообщения:
    191
    Симпатии:
    0
  22. Psih

    Psih Активный пользователь
    Команда форума Модератор

    С нами с:
    28 дек 2006
    Сообщения:
    2.678
    Симпатии:
    6
    Адрес:
    Рига, Латвия
    Я пытался вникнуть - не понял. Попробовал ещё - снова не понял. Плюнул :)
     
  23. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Psih
    Да ладно тебе, это он ради кармы жопу рвёт =)
     
  24. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    а там за карму что то дают? зачем жопу рвать?конфэты дают?)