Bir PHP blog düzenlemek nasıl

2 Cevap php

Ben dosya adını girin bir yazı oluşturmak için: Yani, şu anda ben dosya dayalı benim blog organize ediyorum. Veritabanında mesajı saklamak yerine, ben PHP dosyalarda saklayabilirsiniz. Yani bir yazı oluşturmak her zaman, tabloda yeni bir satır dosya ve benzersiz bir kimlik oluşturulur. Ben geçerli dosyanın adını almak (yorumlar için) örneğin yazı başvurmak sonra eşleşen bir dosya adı için kayıtlar masa aramak. Açıklamanın sonrası kimliği bu yazının kimliği ile eşleşen.

Açıkçası bu bir blog organize standart bir yol değildir, ama birkaç nedenden dolayı bu şekilde yapın:

  • Temiz URL (mod_rewrite'ı bile daha temiz okudum ne sağlayabilir)
  • Ben her zaman benim makinede sonrası sert bir kopyasını
  • Daha kolay, belirli bir yazının URL (temiz URL bir parçası tür) hatırlamak

Şimdi standart bir şekilde veritabanındaki her yazı depolama olacağını biliyoruz. Ben bunu biliyorum, ama temiz URL ana sorundur. Yani şimdi benim sorulara:

  • Ben şimdi bunu yapıyorum yolu ile yanlış bir şey var mı, ya da herhangi bir sorun gelecekte ondan ortaya çıkabilecek?
  • Ben şimdi mod_rewrite temiz URL aynı düzeyde elde edilebilir alabilirim miyim? Eğer öyleyse, bağlantılar takdir edilmektedir
  • Ben bir web barındırma, bu ev sahipliği yapacak. Sadece belirli web-hosts mod_rewrite için gerekli dosyalara erişimi sağlamak, ya da tüm web-host üzerinde genellikle standart mı?

Çok teşekkürler çocuklar!

P.S. Açık olmak gerekirse, ben plan bir blog motoru kullanarak etmiyorum.

2 Cevap

Cletus dediği gibi, bu Taşınır Tipi benzer. Dosyaları veri depolama ile doğal olarak yanlış bir şey yok.

Akla gelen bir şey: Eğer dosyaları ne kadar depolamak? Sadece yazılan içerik, ya da bir baz şablonu kullanarak karşı her PHP dosyası sayfanın tüm tasarım bir kopyasını içerir? Ne kadar zor sonradan tasarımını değiştirmek olurdu? Bu ya da bir sorun olabilir veya olmayabilir.

Ne tam olarak temiz URL açısından arıyorsun? Yeniden yazma kuralları oldukça güçlü ve esnektir. Tüm isteklerini yanıtlar ana PHP dosyası ile birlikte mod_rewrite kullanarak, oldukça fazla kullanıcı-dostu belirsiz kimlik numaraları olmadan URL'ler veya dosya uzantıları dahil olmak üzere istediğiniz bir URL biçimi, olabilir.

Edit:

İşte mod_rewrite ve istekleri işleyen bir ana PHP dosyası ile çalışmak nasıl olduğunu:

  1. Web sunucusu index.php, diyelim ki, tüm istekleri (örneğin, / benim-post-title) geçer
  2. index.php istek yolunu ("my-post-başlık") ayrıştırır
  3. Veritabanının "slug" veya "friendly name" (onu aramak istediğiniz ne olursa olsun) sütun "my-post-başlık" Look up ve uygun satıra bu şekilde bulur
  4. Veritabanından mesajı almak
  5. Sonrası verilere bir şablonu uygulayın
  6. Müşteriye tamamlanmış sayfasına dönmek

Bu Drupal ve WordPress gibi sistemlerin nasıl çalıştığını anlatır.

Ayrıca, Hareketli Tip nasıl çalıştığını ilişkin, o yüzden ben yanlış olabilir kullandım çünkü bir süre oldu, ama veritabanındaki tüm mesajlarını saklar inanır. Eğer düğme yayınlamak vurduğunuzda, bu veritabanından sonrası veri çekerek ve bir şablon içine sokarak düz HTML dosyaları oluşturur. Sitenizin ağır yük altında olduğu zaman bu son derece verimli - orada bir ziyaretçi web sitenizi açtığında çalışan hiçbir komut vardır, ve sadece statik dosyaları sunmak için gerektiğinde sunucu ağır ziyaretten takip edebilirsiniz.

Çözüm işe nasıl sergiyi Yani belli ki bir çok seçenek var. Eğer tek tek dosyaları mesajların çok sayıda muhafaza edeceğiz nasıl önemsenmesi vermek isteyebilirsiniz olsa önerilen biri size daha sonra tüm sitenin tasarımını değiştirmek istiyorsanız, özellikle, ince sesler. Sen Smarty gibi bir çiftleşmiş motoru düşünebilirsiniz, ve mesela tek dosyalar sadece mağaza post verileri (hiçbir düzen etiketleri), olabilir. Ya da sadece vb başlıklar, altbilgiler, nav menüler, emmek için yazılan dosyaları () ifadeleri içeren bazı temel kullanım

Ne açıklayan konum tür Movable Type nasıl çalıştığını gibidir. Eğer kapak gerekir konular şunlardır:

  • Sendikasyon: RSS / Atom;
  • Site Haritası: Google için;
  • Yorumlarında; ve
  • Etiketleme ve filtreleme içeriği.

Bir veritabanını kullanmak için değil mantıksız değil. Ben PHP daha sonuçlarını önbelleğe daha iyi bir iş yok Smarty gibi bir çiftleşmiş motoru kullanılarak olurdu bunu olsaydı olacak kutunun dışında.