За последние 24 часа нас посетили 53345 программистов и 1633 робота. Сейчас ищут 1175 программистов ...

То, чего мы не знаем о PHP, но знать полезно и нужно!

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

  1. MiksIr

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

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    PS: любая ошибка, сгенеренная PHP - это ОШИБКА ;) т.е. это ваша, программисткая ошибка. А раз она произошла - уж извольте 500 получит, тем более раз отображение ошибок выключено, считаем, что это продакшн.
    Даже если ловите set_ error_ handler - можете там красивую страницу сами нарисовать, но нечего 200 выдвать ;)
    Ну и для тек, кто так не считает... отлов вывода еще никто не отменял ;)
     
  2. Sergey89

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

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    эти ошибки не отловить хендлером. даже если они в eval.
     
  3. MiksIr

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

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    Sergey89, а что, раньше вы руками 200 не выдавали?
     
  4. Sergey89

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

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Нет. Зачем?
     
  5. MiksIr

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

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    Затем, что ваш скрипт корректно отработал, о чем неплохо бы сообщить.
    Ну я понимаю, это ж php, который старается "облегчить" работу программисту... ;)
    А потом люди смотрят как баран на новые ворота, когда им толкуешь про обработку ошибок.
    А еще забавно смотреть, как эти люди делают CMS на основе обработки 404 ;)
     
  6. Sergey89

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

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Ну вот похоже мы и пришли к тому, что всегда надо отдавать статус. Скоро подойдём и к тому, что кукисы будем ставить через заголовки и в обязательном порядке указывать Content-Type :)
     
  7. MiksIr

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

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    Кукисы через заголовки - это из другой оперы.
    А вот контент-тайп всегда указывать - очень правильно.
     
  8. Sergey89

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

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Что бы ещё свалить на плечи бедного программиста? %)

    Дак так и есть. Иначе бы мы все сейчас писали на Perl.
     
  9. MiksIr

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

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    На плечи бедного программиста еще неплохо бы свалить знание. Как работает то, что он пишет.
    И понимание того, что он делает продукт, а не пишет код.
    И желание делать все красиво и качественно.
    И тогда это будет хороший программист.
    А до этого момента он будет обычный кодер. Вне зависимости от того, на чем он пишет. И на С, не понимая кухни, можно выдать HTTP/1.1 в ответ на HTTP/1.0 запрос.
    Старайтесь узнать больше чем нужно в настоящий момент, не уподобляйтесь другим, коих много и на этом форуме. Пока мне в Ваших постах это нравилось.
     
  10. Anonymous

    Anonymous Guest

    MiksIr, у тебя начинается синдром элитизма.
    как по мне, Сергей прав. PHP занимает определенную, конкретную нишу. Когда я захочу слать заголовки для каждой страницы, тип контента и прочее, я пойду писать на питоне. ПХП должен быть ПХП. Основной принцип - KISS, помнишь, да?
     
  11. MiksIr

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

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    А когда захочешь ООП, будешь писать на С++, да? =)
     
  12. Sergey89

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

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    К "сожеланию", ООП в PHP есть) Пора это признать. Гы.
     
  13. Anonymous

    Anonymous Guest

    Когда я захочу писать на полноценном ООП, то все равно пойду писать на питоне )
     
  14. Sergey89

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

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    PHP изначально заточен под Web. И он по умолчанию снимает с нас часть работы, которую мы бы проделывали в том же Perl.

    Чем вставлять header в каждый скрипт с указанием Content-Type и Сharset я лучше задам эти параметры в php.ini. А 200 статус мне обеспечит сам PHP, точнее SAPI.
     
  15. MiksIr

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

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    Пральна, PHP это же для home page, забыл ;) а всякие классы и т.д. - это от лукавого, для таких как я. Не пользуйтесь этим ;)
    Знаете, если бы у всех в мире был бы этот "синдром элитизма", жить было бы красивее, чище и спокойнее. А то, что на PHP пишут невменяемые люди, которые в двух соснах путаются еще не значит, что на PHP нельзя создавать толковых красивых решений. Вот с такими хочется работать. Остальные же пусть сидят и чмырят ;) Как сказал один соискатель, перефразируя, "все эти ООП, ORM, тесты - это все от недостатка профессионализма! Настоящему профессионалу все равно, это набор классов или простыня кода с html вся-цмс-в-оном-файле" =)
     
  16. Anonymous

    Anonymous Guest

    ...что нужно повышать порог вхождения искуственными проблемами.
     
  17. MiksIr

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

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    Sergey89 - это не повод давать кому-то _домысливать_ за тебя как твой продукт будет работать. Тебе ж не нравится, что PHP стал выдавать 500? А с чего бы... PHP снимает с нас часть работы, ага ;)
     
  18. MiksIr

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

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    Горбунов Олег, это не искусственные проблемы. Это наличие знания в той области, в которой ты решил работать. Не знаешь, что такое индексы и типы полей - отойди от базы и не трогай руками. Не знаешь основ HTTP - не подходи к "языку изначально заточенному под Web".
    Водителю авто вовсе не нужно знать, что такое занос и блокировка... знай себе, жми на тормоз посильнее. Вот и убиваются такие знатоки со словами "а у меня ABS, мне ничего больше не надо знать".
     
  19. Sergey89

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

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Вот они и сняли с нас часть работы в одном месте и добавили работы в другом.
     
  20. Anonymous

    Anonymous Guest

    Нифига. Вот magic_quotes - это пример того что ты говоришь. А в данном случае, это напоминает: «мы не знаем, как починить эту фичу, поэтому напишем про это в мануале, и это станет документированым поведением».
     
  21. Anonymous

    Anonymous Guest

    MiksIr, мне мало знать. Я хочу управлять. А не слушать басни о том, что это «документисрованное поведение»
     
  22. MiksIr

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

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    ЗЫ: да, я считаю, что продукт, вне зависимости от того, на чем он написан, должен сообщить основные данные о том контенте, что он отдает, а именно - его валидность (статус) и его тип (контент-тайп).
    Вы можете быть другого мнения, мне в общем все-равно. Работать пора.
     
  23. Sergey89

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

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Пора заканчивать. Уже 6 часов :)
     
  24. MiksIr

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

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    Горбунов Олег, управляй. Как выяснено было выше, если ты выдаешь свой заголовок, что все ОК - он и остается. Чем тебе не механизм управления. Просто тут в ужас людей приводит, что придется за ПХП выдавать 200 Ok. И правда, кому-то работы прибавиться, хы.
     
  25. MiksIr

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

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    Sergey89, я сова ;)