Bu mola kullanmak ve PHP döngüler için gözcü olarak devam etmek iyi bir uygulamadır?
örneğin
if (!empty($var))
break;
do {
if (condition1)
break;
some code;
some code;
if (condition2)
break;
some code;
some code;
if (condition3)
break;
some code;
some code;
} while (false);
vs
if (!condition1) {
some code;
some code;
if (!condition2) {
some code;
some code;
if (!condition3) {
some code;
some code;
}
}
Bazı ilk sürümü abhomination ve zor okumak bulmak ve ikinci sürümü seviyorum. Bazı ilk sürümü temiz ve okunması kolay bulabilirsiniz. Şartların sayısının çarpma gibi ikinci bir yuvalama seviyesini takip etmek daha zor almak eğilimi olarak, ben, takip etmek ilk sürümü daha kolay bulmak eğilimindedir. Ayrıca eğer if (condition) break;
if (condition) {some code; break}
gibi sadece biraz daha karmaşık, do {if .. break; if .. break..;} while(false)
desen equivalend iç içe IFS ile karşılaştırıldığında daha net alır bir şey içine alır.
Kesinlikle isimli, her ikisi de geçerli programlama yapıları demektir.
Ne değildir iyi bir fikir yeni tanıtılan GOTO a>. (Ben yaklaşık not görmedim bu bir Nisan şakası olduğunu söyle!)
Bir mola tartışma ve PHP devam (ve genel olarak döngü) için de Advanced loops bir göz var - yazar hemen mola yutmak ve devam etmek yönetmek ancak n kırmak ve n devam edemez izlenimini almak . :-)
5 + yıl PHP programlama ben switch ifadeleri dışında mola kullanmak zorunda kaldı.
Devam bazen tekrarlamalar ilk veya son öğeleri atlamak için kullanılır, ama ben çok sevmiyorum.
Neden GOTO reintroduce mi? bu bir utanç
De, soruyu cevaplamak için
if (!empty($var))
break;
Dönüş kullanmayın (Neden bir yöntem bağlamında ise)
if (!empty($var))
return false;
Ben bu şekilde çok net düşünmek ve içinde oldu ne arayan farkında yapar. Argüman hatalarının için daha iyi bir kullanım facte noktaya bir yürütme onlar yükseltilmiş kıracak Excecptions, kullanıyor.