Karışık hataları ve mantıksal dönen alternatif

3 Cevap php

Ben şu anda, bazen karışık tipi, bazen bir boolean, bir hata mesajı bir sonuç dönen bir (ortak) bir durum var. Örneğin:

function checked_thing_is_legal(){
 // Do stuff and check for errors in here.
} // Returns true if there are no errors, otherwise returns an error message string.

Bu kirli hissediyor, ve birisi bir zamanlar ben de iyi bir tavsiye buluyorum, "bu tek ve güvenilir bir dönüş değerleri aşağı kodu damıtmak için iyi" dedi. Yani hataları kontrol etmek için daha iyi bir paradigma nedir?

3 Cevap

Ben burada iki seçenek göreceksiniz

atomik (boolean) doğrulayıcılar kullanmak ve onaylayıcısı kendisinden hata iletileri ayrılabilmesi

   if(!is_valid_email(blah)) print "invalid email";

boolean test () ve dize hata () işlevleri ile onaylayıcısı nesneleri kullanın:

$v = new SomeValidator;
if(!$v->test(blah))
  echo $v->error();

Her şey tamam ise hızlı ve kirli bir uygulama da boş bir değer dönen düşünebilirsiniz

 $err = validate_email(blah);
 if(empty($err)) ok else print $err;

PHP Exceptions bunu yapmanın bir klasik yolu olacaktır ...

Sen aşağıdaki imkanlar var: