Ile dahil uğraşan ve PHP karmaşık dizin hiyerarşisi

0 Cevap php

Ben karmaşık dizinleri hiyerarşi ile uğraşmak zorunda, ve PHP ile yolu içeren ortak sorun karşılıklı.

Ben web arandı ama benim ihtiyaçlarına uygun bir şey bulamadı.


Örneğin, ben başarısız asla basit bir dizin hiyerarşisi kullanıyordum: site köküne hiçbir php script, alt dizinin sadece bir seviye, bu alt düzey tüm php script. Bir php dosyası eklemek için, ben sadece göreceli yolunu kullanan, hep birlikte başlayan '.. /' sadece bu örnekteki gibi:

include( '../my_subdirectory/my_script.php' ) ;

Bu şekilde, ben istediğiniz dosyayı bulmak için emin olabilirsiniz ...

Ancak bazı dezavantajı vardır:

  • Bir dosya başka bir dosya, üçüncü dosya İkinci dosya dosya yoluna göreceli, ama yolu göreli değil eklemek için kullanılan yolunu içerir bir dosya eklediğinizde: Ben altdizinini birden fazla düzeyi (nedeni olamaz çok ilk dosya).
  • (El yapımı makefile kullanarak) bir C + + arka plandan geliyor, ben her zaman bunu yapmak için bir kirli bir yol olduğunu düşündüm

Yani doğrudan site root (not $ _SERVER ['DOCUMENT_ROOT'] ben bu document_root bir alt dizine bağımsız web sitesi var çünkü) den dosya eklemek için bir yol istiyorum .

Ben olmak istiyorum:

  • tek bir dosyada merkezi
  • (mümkünse) herhangi bir değişiklik olmadan başka bir sunucudan taşınabilir
  • "('directory_a / directory_b / my_php_script.php') şunlardır:" php tutmak basit ve zarif, karmaşık bir dize concat, bu şekilde çalışması gerekir dahil

. Içeren bir htaccess kullanımı:

php_value include_path "/var/www/my_website/" 

... Yolu nedense can sıkıcı htaccess, içine kodlanmış olması dışında iyi yapmak:.. Benim durumumda, ben eşya, dev ve web sitesi test sürümü var ve htaccess versionned (bunu diğerleri şeyi içeriyor .) Mümkünse, ben her yerde çalışırım bir. Htaccess istiyorum. Bu geçerli. Htaccess yoluna include_path ayarlanmış bir şey iyi olurdu.

Yani ... Ne (dahil ile ilgili, en iyi uygulama) ve PHP karmaşık dizin hiyerarşisi?

0 Cevap