Ben tamamen genel ad olarak ilan fonksiyonlarını önlemek için deneyin. Örneğin, PHP benim sürümü olmayan fonksiyonların userland uygulamaları eklerken ben bunu çok nadir durumlarda, bir
if(false === function_exists('lcfirst'))
{
function lcfirst( $str ) { /* ... */}
}
Bu gibi işlevler bir önyükleme dosyasına dahil olacak bir compatibility.php gidebiliriz, onlar function_exists
Ben sorunları çalıştırmak emin yapar uygulama ve kontrol genelinde mevcuttur PHP sürüm kez fonksiyonu için yerel destek var.
Diğer tüm fonksiyonlar için, ben onlar ilk özel bir nesne üzerine gidemez olup olmadığını görmek için denemek istiyorum. Genellikle, "rastgele" fonksiyonları sadece yanlış vardır. Lütfen programı işlevleri kullanmak ve daha sonra orada yöntemleri taşıyabilirsiniz olup olmadığını görmek hangi nesneleri bakabilirsiniz. Belki çıkmak için bekleyen bir üst sınıf var. Ayrıca bkz: Information Expert pattern.
Hiçbir nesne yoksa bu yöntemler benzersiz bir ad ad Utils ile bir statik modülü, sen yine grup onlara gidebilir, bu yüzden küresel ad kaplamak yok. Bu şekilde, size global kapsamda diğer üçüncü taraf fonksiyonları ile çatışan değil emin olabilirsiniz.
Önce 5.3, ben modül olsaydı onları following the PEAR naming convention ve klasör yapısı aşağıdaki sınıf isimlerini önek, örneğin, com/mattmueller/utils.php
, kullanmak istediğiniz grubu olur
class Com_MattMueller_Utils
{
public static function something($a, $b) { /* ... */ }
}
PHP5.3 itibariyle, gerçek namespaces var ve siz yapabilirsiniz
namespace com\mattmueller\Utils;
class Utils
{
public static function something($a, $b) { /* ... */ }
}
Javascript Eğer ad olabilir ama easily simulate them, örneğin, bir nesneye işlevleri ekleyerek yok
// JavaScript
var com = (com) ? com : {};
com.mattmueller = {
'Utils': {
'something' : function(a,b) { /* ... */ }
}
};
Ortak çerçeveler genellikle de creating namespaces için işlevleri uygulamak.