PHP, sık sık dize işleme sürü yapıyorum. Dizeleri gibi ilkel türleri değer geçirilir eğer performansını önemli ölçüde etkileyen olacak çünkü, birden fazla fonksiyonları içine benim kod bölmek sakınca var.
Sadece nesneler başvuruya göre iletilir.
Bu olsa başvuruları değiştirerek bir performans artışı elde edeceğiz anlamına gelmez - PHP kopya-on-write kullanır, böylece değişken değiştirirseniz bir kopya sadece yapılır.
Splitting your code into functions won't slow it down from that point of view. There is a small overhead for calling a function, but unless your in a loop calling 10,000s of them it's probably not something you need to worry about.
Nesnelerine başvuru tarafından geçirilir. Açıkça kullanmadığınız sürece her şeyin değeri tarafından geçirilir pass-by-reference with the & operator.
Söyleniyor, PHP de copy-on-write gereksiz kopyalamayı önlemek için kullanır.
Açıkça (parametre önünde bir işareti &
ile) referans olarak geçmek veya argüman önünde bir işareti ile işlevini çağırmak için fonksiyon tanımlamak sürece evet, ilkel değer geçirilir. (Bu ikinci önerilmiyor)
this part of the documentation daha fazla bilgi için bkz.
DÜZENLEME
Genellikle çoğu amaç için bu şekilde düşünülebilir olsa da, PHP "nesnelerine başvuru tarafından geçirilen" ifadesi, bir sadeleştirme biraz. Bu chapter of the documentation farkları açıklar.
Varsayılan olarak, her şeyin değeri tarafından geçirilir. Başvuruyla şey geçmek isterseniz olarak açıkça yüzden devlet var.
İşte php documentation that explicitly states this behavior olduğunu.