PHP: () ölmeli ölecek mi?

3 Cevap php

Bu kalıp (), bir üretim ortamında yaşamasına izin kötü bir uygulama olarak kabul edilir? Sadece bu yazı http://www.phpfreaks.com/blog/or-die-must-die okumak oldu nerede bir üretim ortamında böyle bir şey kullanan insanların üzerine yazar fies. Yani bu şekilde kod gerekir:

$connection = mysql_connect($db_host, $db_username, $db_password);
if (!$connection){
    die ("Could not connect to the database.");
}

Nasıl kod?

3 Cevap

Eğer bir hata yaparsanız die, her şey seni yapmıyoruz. Uygulama Neden yapmalıyım?

doğru yolu hataları yakalamak ve bir bağlam-bağımlı bir şekilde bunları işlemek, örneğin için

try {
    application goes here

    $conn = mysql_connect(...)
    if(!$conn)
        throw ....
    ....
} catch(Exception $err) {
     if(PRODUCTION) {
        log error
        say something nice
     }
     if(DEBUG) {
         var_dump($err);
     }
}

die() çok kaba bir ifadedir ... Faydalı (oldukça) geliştirici aşamada, ben buldum wrong üretim aşamasında.

Sen, analiz izlemek ve ölümcül hataları oturum ve benzeri yeterli mesajları gösterme gerektiğini "Bu sunucuya bağlanmak için imkansız, birkaç dakika içinde tekrar deneyin veya sorun bildirmek için admin@yourhost.com yazınız!"

Peki verimli bir enivornment, sen dış dünyaya sistemi hakkında herhangi bir hata / bilgileri açığa asla.

Önemli tüm hataları oturum vardır. Eğer bir web sitesi hakkında konuşurken, ben yanıt olarak bir HTTP status 500 göndermek istiyorsunuz.