Tecrübe, üniversite diplomaları ve yazılım mühendisliğine kim karşı çıkabilir? Ben değilim. Sadece nesne yönelimli tek sayfalı PHP uygulamaları geliştirirken, ad alanı çarpışmaları konusunda endişelenmeden her şeyi sıfırdan oluşturabileceğimi bildiğimde daha çok eğlenirim. Sıfırdan inşa etmek, birçok insanın artık yapmadığı bir şey. İlgilenmeleri gereken bir işi, son tarihi, ikramiyesi veya itibarı vardır. Bu türler, yüksek riskli önceden oluşturulmuş çok fazla kod kullanma eğilimindedir ve küresel değişkenleri kullanma riskini hiçbir şekilde alamazlar.
Global değişkenleri kullanmak, bir programın yalnızca global alanında kullanılsalar bile kötü olabilir, ancak sadece eğlenmek ve bir şeyler yapmak isteyenleri unutmayalım .
Bu, global ad alanında birkaç değişken (<10) kullanmak anlamına geliyorsa, bu yalnızca bir programın global alanında kullanılır, öyle olsun. Evet, evet, MVC, bağımlılık enjeksiyonu, harici kod, blah, blah, blah, blah. Ancak, kodunuzun% 99.99'unu ad alanlarına ve sınıflara dahil ettiyseniz ve harici kod korumalı alana alınmışsa, global bir değişken kullanırsanız dünya sona ermeyecektir (tekrar ediyorum, dünya sona ermeyecektir).
Genel olarak, küresel değişkenleri kullanmanın kötü bir uygulama olduğunu söylemem . Bir programın küresel alanı dışında küresel değişkenler (bayraklar ve benzeri) kullanmanın sorun yarattığını ve (uzun vadede) kötü tavsiye edildiğini söyleyebilirim , çünkü durumlarının izini oldukça kolay kaybedebilirsiniz. Ayrıca, ne kadar çok öğrenirseniz, küresel değişkenlere o kadar az bağımlı olacağınızı söyleyebilirim, çünkü bunların kullanımıyla ilişkili hataları bulmanın "neşesini" deneyimlemiş olacaksınız. Bu tek başına sizi aynı sorunu çözmek için başka bir yol bulmaya teşvik edecektir. Tesadüfen, bu PHP çalışanlarını ad alanlarının ve sınıfların (statik üyeler, vb.) Nasıl kullanılacağını öğrenme yönüne itme eğilimindedir.
Bilgisayar bilimi alanı çok geniştir. Herkesi bir şeyi kötü olarak nitelendirdiğimiz için yapmaktan korkutursak , etiketin arkasındaki mantığı gerçekten anlamanın eğlencesini kaybederler.
Gerekirse global değişkenleri kullanın, ancak sorunu onlarsız çözüp çözemeyeceğinizi görün. Çarpışmalar, testler ve hata ayıklama, yalnızca sorunun bir açıklamasını değil, sorunun gerçek doğasını yakından anladığınızda daha fazla anlama gelir.