PHP5 nesneler başvuruya göre iletilir?
Bu konuda herhangi bir tutarlı bilgi elde edemiyorum. Farklı kaynaklar farklı şeyler ve saygıdeğer php.net kendisi söylemek görünür (görünür) buna rağmen, itiraf etmeliyim, ben sadece hızlı bir göz vardı bu istisnai bir durum değil.
Etrafta taşıyorum durumlar 'ağır' nesneleri, referans geçmek istiyorum, ama yazmaya devam etmek istemiyorum:
function foo(TypeName& $obj)
sadece yanına miyim
function foo(TypeName $obj)
Standart ne diyor?
CEVAP
Nesneleri geçti (tayin) başvurusu. Hiçbir operatörün adresi kullanmanız gerekir.
Bir basitleştirme olduğunu yazdım ama amacınıza uyacak verildi. documentation devletler:
Anahtar noktaları PHP5 OOP olan biri sık sık "nesneleri belirtilen varsayılan olarak başvuru tarafından geçirilir". Bu tamamen doğru değildir. Bu bölüm genel düşünce düzeltir bazı örnekler kullanarak.
PHP bir referans bir diğer adı olan iki farklı değişkenleri sağlar aynı değeri yazın. PHP5 gibi, bir nesne değişkeni içermez değeri artık olarak kendisi nesne. Bu sadece bir nesne tanımlayıcısı içerir hangi nesne set bulmak için izin verir gerçek nesne. Bir nesne bağımsız değişkeni, döndürülen veya atanmış tarafından gönderilen başka bir değişken, farklı değişkenler diğer adları: bir tutuyorlar tanımlayıcı, hangi puan fotokopisi aynı nesne için.
Daha ayrıntılı bir açıklama (basitleştirme gibi tanımlayıcıları açıklar) this answer check out.
Neden kopya kurucu C başvuruya göre pa...
Medya sorguları ekran yerine bir div ö...
Nasıl pip paketleri yerel bir dizinden...
Nasıl JUnit testler için Maven in Kate...
Nasıl yaratıldıkları tarihe göre Git b...