Hangi dosya-yolu-in-class-ismi kongre hakkında?

3 Cevap php

Eğer (especially PHP) adamlar proje dizinine ilgili sınıf adı dosyasının yolunu yansıtan sınıfları için bir adlandırma kuralı hakkında ne düşünüyorsunuz? örn:

# /project/Session/Abstract.php
# /project/Session/Database.php

class Session_Database extends Session_Abstract ...

Ben size fikir olsun eminim. Ben de artıları bazı bariz eminim .. ama sen ne düşünüyorsun - o gezinmek kolay oldukça güzel bir dizin yapısını elde etmek için sınıf isimlerini uzatmak için değer mi?

Bu aynı zamanda PHP bir one-liner __ autoload ($ class) tanımı sağlar: str_replace ('_', '/', $ class);

Ben bazı insanlar aptal olmak için böyle kongre dikkate alacaktır herhalde. Ben şahsen seviyorum, ama diğer insanlar tarafından kullanılmak onu görmedim ve bunu pratikte çok iyi çalışacaktır ise oldukça emin değilim.

Eksilerini biri include / aramaları gerektiren kaldırılması ile, tüm sınıflar bazı iddia olabilir özdevinimli_yükle fonksiyonu üzerinde (birlikte yapıştırılmış) bağlı olduğunu olabilir, gevşek bağlantı kendi anlayışı ile uymamaktadır.

Bu tür yaklaşım hakkında bugüne kadar benim bilinmektedir tek referans http://softwareengineering.vazexqi.com/files/pattern.html

Yani, bu bir görüş var mı?

3 Cevap

Sonra aramıyorum. PEAR bu yaklaşımı kullanır. Yani yok Zend Framework. Bu PHP dünyasında oldukça kurulan standart. Ben ilk karşılaştığım zaman ben bilmiyorum, ama ben şahsen kendi çerçevesinin bir parçası olarak ve bu ZF gibi kamuya açık çerçeveler bir parçası olarak, hem kullanılan ve birkaç yıl için sevdim ettik.

Ben bu konuda sevmiyorum tek gerçek şey etrafında kodu taşımak gerektiğinde, ben isimleri yeniden çalışma sürü sonuna kadar olmasıdır. Fakat Emil zaten bu ders için hemen hemen eşit olduğunu, ama ben PHP Userland Naming Rules eklemek isterim olduğunu işaret etti.

Ben kongre aswell kullanın.

Sadece güzel bir dosya yapısına sahip yardımcı olur, aynı zamanda namespacing sorunları ile yardımcı olur. Bu adlandırma kuralı yinelenen sınıf adlarını önlemek için sınıfları önek olur.

PHP 5.3 çıkıyor ve nihayet ad varsa, ben hala bu kuralı kullanarak olacak. Ben farklı yapacağım tek şey, benim sınıf isimlerini kısaltmak uygun ad alanları içine benim önek dönüştürmek ve benim autoloader içinde ayar yapmaktır.