Sadece CodeIgniter ile başlıyorum ve css, js ve görüntüler gibi şeylerin nereye gitmesi gerektiğinden emin değilim. Tüm sistem klasörü dışında iyi görünüyor, ama bu her şeyin ayrı olduğu anlamına gelir. İçeride dosya yollarının daha uzun olduğu ve işlerimi bozabileceğinden endişeleniyorum. Bu konuda en iyi uygulama nedir?Öğeler, bir kod ateşleyici projesinde nereye gitmeli?
cevap
Genellikle kök düzeyinde ayrı klasörler koymak, bu yüzden böyle bir dizin yapısı ile bitirmek:
/system
/css
/js
/img
benim için çalışmak görünüyor - Eğer site_url(url)
kullandığınızda, oluşturduğu URL dan root, bu nedenle, stil sayfalarınıza URL'ler oluşturmak için site_url('css/file.css')
'u kullanabilirsiniz.
Kök düzeyinde çok fazla dizin bulundurmaktan nefret ediyorum, bu yüzden/public kullanıyorum ve/public/scripts komutlarını yeniden yazmak için htaccess kullanıyorum. .
Mod_rewrite'inizi gönderebilir misiniz? – bswinnerton
Öğeleri kök düzeyinde tutmak en iyisi. Sitenin tam kökünü bulmak için <?=base_url()?>
'u kullanabilirsiniz. Yapılandırma dosyasında, web sitesinin kökünü kurarsınız. Bu ifade sadece bunu yansıtıyor. Bu nedenle
kullanabileceğiniz böyle içerir: kodunuzda herhangi bir yerde
<link href="<?=base_url()?>/css/style.css" rel="stylesheet" type="text/css" />
ve hala http://example.com/css/style.css alacak.
base_url()/css/name.css
base_url() aslında istediğiniz eğik çizgi içerir: base_url(). 'Css/name.css'; –
ok.ok.thanks .i biliyorum ama koymayı unuttum. –
URI'dan index.php segmenti kaldırmak için öncelikle Apache mod_rewrite (veya eşdeğeri) yapılandırmak GEREKİR bu şekilde site_url (URL) yardımcı kullanmak için .
Aksi takdirde, site_url yöntemi, yukarıdaki gibi ana dizinde bulursanız, büyük olasılıkla varlıklarınızın yollarını mahvedecek URL'ye index.php ekler.
İşte URI'dan index.php uzaklaştırmaya CodeIgniter belgeleri var:
Şahsen ben system
dizininin dışında application
dizini rip ve system
için bunu bir kardeş olun. Daha sonra, index.php dosyasını taşıdığım ve genel varlıklarımı sakladığım public_html (www)
numaralı bir proje dizini oluşturuyorum.
Üzerinde çalıştığınız projeye projekt
adı verildiğini varsayalım. public_html (www)
için üst dizinde CISYSTEM
adlı bir dizin oluşturun ve bu dizin içinde kullandığınız sürümde, 202
, 210
vb bir dizin oluşturmak
/CISYSTEM
/202
/210
/another_CI_version
/projekt_application
/models
/views
/controllers
/private_assets
/public_html
/projekt
index.php
.htaccess
css
img
js
lib
bu dizin yapısı güzelliği başka bir katman ekler güvenlik ve CI çekirdeğini yükseltmek/takas etmek için ölü kolaylaştırır. Ayrıca, çekirdeğinizde değişiklikler yapmanıza gerek yok - çekirdeğinizin depolandığı ve tüm projelere sahip olduğu tek bir dizine sahip olmanız, DRY'yi korur.
Tüm bu dizin karıştırma işlemleri bir kaç şeyi yeniden yönlendirmenizi gerektirir. Neyse ki, CodeIgniter kolaylaştırır - tüm değişiklikler index.php
dosyasında yapılabilir.
Açık index.php
ve yeniden yönlendirmek bir kaç şey:
Değişimi: $system_path = 'system';
için: $system_path = '../../CISYSTEM/210';
Değişimi: $application_folder = 'application';
için: $application_folder = '../../projekt_application';
Ayrıca, diğer yanıtlarda site_url()
'u kullanma hakkında birçok kişi görüyorum. HTML'nin <base>
eleman faydalanmak eğer site_url()
kullanarak daha az ayrıntılı bir şekilde tavsiye ... her zaman onu aramak zorunda değilsiniz:
<base href="<?= site_url();?>">
Sadece içerdiğini daki uygulamanın <head>
ve mümkün gibi doğrudan ... Denetleyicilerinizi çağırır:
<a href='controllername/functionname'>Some Action</a>
Alkış
- 1. 'CreateMap' ifadeleri nereye gitmeli?
- 2. Raylar - Denetleyici yardımcıları nereye gitmeli?
- 3. Tercihler .xml dosyası nereye gitmeli?
- 4. "Ana Sayfa" mantığı MVC'ye nereye gitmeli?
- 5. Sürüm bağımsız python kitaplığı nereye gitmeli?
- 6. WCF/İstemci uygulamaları - iş mantığı nereye gitmeli?
- 7. Bir phoenix projesinde yardımcı işlevler nereye yerleştirilir?
- 8. Kod ateşleyici denetleyici sınıfını nasıl genişletirim?
- 9. Kod-ateşleyici modelinin maksimum değerini seçerken hata.
- 10. model kod ateşleyici dışındaki dizide veri satırları sayma
- 11. Android studio projesinde varolan bir veritabanını nereye yerleştirmek
- 12. Görünüm denetleyicide ortak kod nereye koyulur?
- 13. Kod Sözleşmelerini C++/CLI projesinde nasıl kullanabilirim?
- 14. Varlık çerçevesini çözümümüze nereye yerleştirelim?
- 15. PowerShell komut dosyaları nereye yerleştirilir?
- 16. Varsayılan git yapılandırma dosyasında ne gitmeli?
- 17. Küçük bir C# projesinde
- 18. android projesinde bir proje.properties
- 19. ARC'ye dönüştürürken -dealloc'taki kodu nereye koyarız?
- 20. Hazırda Bekletme Eğitimi - Haritalama Dosyası nereye yerleştirilir?
- 21. , bir Python betiğinde freeze_support() öğesini nereye koyar?
- 22. Bir sözlükte listelere öğeler ekleme
- 23. Android projesinde DAO Kalıbı Uygulaması
- 24. Öğeler bir süre döngüsüne eklendikçe sıradaki öğeler Öğe
- 25. Bu kurucu neden Kod Ateşleyicisine yüklenemiyor?
- 26. Arka plan ve düğme görüntü dosyalarını nereye yerleştirmeliyim? Öğeler mi yoksa sadece uygulama dosyalarına mı sürükleyin?
- 27. İç sınıflar nereye koyulur?
- 28. ComboBox Scene Builder ile Öğeler?
- 29. Bir Eclipse Android Projesinde JavaDoc
- 30. Rails 4'te bir web çalışanı dosyası nereye yerleştirilir?
Ah mantıklı. Site_url kullanabilmek istedim, bu yüzden mantıklı. Teşekkürler! –
Bu, sistem klasörünüzü genel bir dizinde tuttuğunuz anlamına mı geliyor? –
@Blowski Evet. En iyi uygulama olmadığını biliyorum, ancak özellikle de bir sorun olduğunu düşünmüyorum, özellikle de erişimi kapatmak için .htaccess kullanıyorsanız. –