trigger_error() vs die()

trigger_error() или die()

  • trigger_error()

    Votes: 0 0.0%
  • die()

    Votes: 0 0.0%

  • Общо гласове
    0

qazxsw

Registered
Здравейте, четох тази статия в която се казва, че or die() е лоша програмна практика и се дават примери защо.

Та исках да Ви попитам, Вие кое предпочитате повече и защо?
Смятате ли, че е по-хубаво да се използва trigger_error() или не и защо?
 
Ами като си разработвам приложението си ползвам die() , просто защото не ме бърка, а като пусна приложението изобщо не допускам показването на грешки. Записвам всички грешки в базата данни и ги анализирам след това ако има нужда.
 
Не е разумно да се използва Die за такива неща. По средата на PHP скрипшта ти възниква грешка и се извиква die, и да кажем примерно не разделяш логиката от оформнлението и ти излиза половината уеб страница...
 
и аз за първи път я чувам тая функция първата.
Но нека да видим компетентни мнения по въпроса,
че ако е по добре да ползвам нея ще трябва да си сменя малко
кодовете и занапред да я ползвам.
Нека видим какво ще кажат по компетентните от нас
 
много ясно че trigger error :)
И die става но въпроса че можеш да контролираш какъв тип грешка е.
И с една функция и set_error_handler си настройш как да ти излиза грешката.
 
Rado зависи кой с каква версия
Ето г/д под коя версия работят тези функции за грешка:
die работи под всички 4.0.0+ сега незнам за 3
trigger_error 4.0.1+
exceptions 5+
 
Да, до колкото разбрах аз хубавото на trigger_error е, че може да се контролира изходящото съобщение за грешка. Дали скрипта да спре както при функцията die() или да продължи изпълняването му като излезе съобщение. Вече в последствие хубавото е, че с функцията trigger_error() може да изключиш съобщенията за грешка от php.ini което го прави по удобен, докъто die() винаги ще спира скрипта и нямате контрол над него.


Аз лично до сега винаги съм ползвал die(), но вече май ще прилагам trigger_error.
 
всъщност той не контролира изходното съобщение той задава вид на грешка и прави тази грешка
trigger_error('Warning', E_USER_ERROR);
ако си направиш функция за set_error_handler там вече ще контролираш как да ти се показва или да я подминава грешката
 
cnoko каза:
Rado зависи кой с каква версия
Ето г/д под коя версия работят тези функции за грешка:
die работи под всички 4.0.0+ сега незнам за 3
trigger_error 4.0.1+
exceptions 5+

OMG, кой ползва PHP3, та даже и версия 4 в момента? :shock:

die() се използва при грешки, при чиито възникване кода няма изобщо да работи, примерно връзка към базата данни. Много ясно, че ако има грешка при връзката, всички заявки надолу няма да работят. Затова и се ползва die(). Пак казвам, по-добре използвайте класовете за error handling/exceptions и не показвайте грешките си на потребителя. Записвайте ги в еrror log.
 

Back
Горе