Refactored php kod yürütme durdurma?

0 Cevap php

Ben sadece gelecekte uzatmak ve korumak için biraz kolaylaştırmak için bir php sayfası yeniden düzenlendi ve oldukça basit bir sorun takılıp aldık.

Ben 3 içine bir yöntem kırık var.

largemethod () böyle bir şey oldu:

nowsmallmethod(){
  doSomeChecks();
  assignProduct();
  giveFeedbacktoUser();
}

Bu, tüm iyi ve iyi, ben yaşıyorum sorun doSomeChecks (ile) dir;

doSomeChecks(){
 if(something that shouldnt be true is true){
    return Controller->redirectBk();
 }
}

Sorunun dönüm noktası nowsmallmethod () tamamlandığında Controller-redirectBk ilk yönlendirir olmasıdır. Bu, kullanıcının, bir test başarısız olsa bile bir ürün atanmış olduğu anlamına gelir. I) bu yüzden gerçekten Controller-> redirectBk (davranışını değiştirmek olamaz Silverstripe adında bir php framework kullanıyorum. Ben kendi yöntemi kontrolleri yoktu ") (Kontrol-> redirectBk return;" çünkü o zaman her şey iyi çalışır yürütülmesini durdurmak ve geri yönlendirme olur. Whats the best way to stop execution in nowsmallmethod() when a test fails? Ben bir hata için bir durum kodu döndürür ve sonra yürütme durdurmak olabilir fark ama çirkin bir şekilde görünüyor. Daha zarif bir yolu var değil mi? I (doSomeChecks böyle bir şey geri dönebilirler başka bir seçenek) olurdu, "dönüş (dönüş $ controller-> redirectBk ())" ama bu geçerli php sözdizimi değil okunması özellikle kolay değildir. Herhangi bir yardım derece mutluluk duyacağız.

Enjoy your weekend! Cheers Nick

0 Cevap