2011-04-13 25 views
5

Farklı alt klasörlerdeyseniz PHP'de aynı isimde iki sınıfın olması ile ilgili bir sorun olup olmadığını merak ediyordum?Farklı klasörlerde iseler aynı isimde iki sınıfa sahip olabilir mi?

- Yanlış dosyayı düzenlemenin bariz 'İnsan Faktörü' dışında.

@admin: Burada ve burada web'de başka yerlerde bulunan diğer yayınları aradım, ancak bu soruya cevap veren hiçbiri bulunamadı.

@everyone: Bununla birlikte bunu (php - Autoload classes from different folders) çok yararlı buldum ve aslında one of my other questions çözüldü!

cevap

6

Aynı klasörde bile aynı ada sahip sınıflara sahip olmak mümkündür.

Ancak, PHP betiğinde bir kerede yalnızca bir sınıf yüklediğinizden emin olun.

Aynı komut dosyasında aynı anda yüklenemezler.

Aynı adda iki sınıf oluşturduysanız, PHP'nin bilmediği bir gerçektir, ancak PHP bunları aynı komut dosyasında yüklemez. Her seferinde bir sınıf kullanabilirsiniz.

Ayrıca bkz. namespaces php.

+0

Teşekkürler İsim alanına bakacağım. Ve ayrıca cevap veren herkese teşekkürler! Benim durumumda, aynı isimle iki sınıfa ihtiyacım olacağını düşünmüyorum, fakat problem olması muhtemel olan bir çizgiyi değil, şimdi öğrenmek istediğimi düşündüm! – Chris

+0

@chris: Karşılama, Burada yardımcı olursanız. Cevaplardan birini kabul etmeyi düşünün, cevabın solundaki sağ ok işaretini tıklayarak kabul edebilirsiniz. Teşekkürler. –

0

Bu sınıfları oluştururken bir çakışma yaşayacağınıza inanıyorum. Aslında hiç test etmedim, ama PHP, Java gibi davranmıyor, farklı paketlerde aynı ada sahip sınıfları koyabiliyorsunuz ve paketin, bunları örnekleme üzerine farklılaştırmasını sağlayabiliyorsunuz ...

0

Aslında yapabilirsiniz, ancak aşırı yüklenme ilgili düşünmek ve arayüzler hakkında ...

ad gelip nerede
0

Elbette dosyaları aynı klasörlerdeki veya farklı klasörlerdeki aynı sınıf adlarıyla oluşturabilirsiniz, ancak tek bir uygulamada yalnızca bir dosya kullanabilirsiniz.

gerçekten iki sınıfları aynı adı vermek gerekir ve bir dosyada bunları kullanmanız gerekiyorsa, bir çözüm olabilir ad ...

0

A 'İnsan Faktörü' http://www.php.net/manual/en/language.namespaces.rationale.php noktası IS.
Sadece yanlış dosya sorunu değil, aynı kodda bu sınıflarla çalışmak da tamamen karışıklık olur.

+0

Bu doğru, kısa bir süre önce OOPHP ve MVC'lerle web uygulamaları oluşturmaya başladım ve bu harika ve ödüllendirici bir öğrenme eğrisi oldu. Ancak, gerçek ders, ima ettiğiniz gibi, geliştirme ekibi için yönetilebilirliktir. Her zaman benzersiz sınıflar kullanmanın, başka hiçbir şey yoksa iyi bir uygulama olacağını düşünüyorum. ;) – Chris

İlgili konular