Eval kullanarak riskleri olmadan bir MySQL veritabanında çeşitli PHP fonksiyonları için bir çağrı saklamak () için bir yolu var mı?

2 Cevap php

Ben Ancak, sayfa yükleme sırasında yinelendi edileceği, şablonları saklamak mümkün istiyorum vb get_menu (), get_title (), get_recent (), gibi çok sayıda işlevleri içeren belirli bir proje için çok temel bir CMS inşa ediyorum , bu MySQL veritabanında bahsedilen fonksiyonlar ihtiva ederler.

Olası her fonksiyon için bir str_replace yapıyor bir pide olmak ve eval () kullanarak zaman tehlikeli olduğunu fark eder. Bu yapıyor hakkında gitmek için daha iyi, daha verimli bir yolu var mı? Ben bu şablonları Textpattern'dan kurmak nasıl olduğu gibi yapılabilir eminim.

2 Cevap

Eğer söz nedenle, ben seni Smarty veya başka bir çiftleşmiş dilini kullanarak daha iyi olduğunu düşünüyorum. Eğer dinamik şablonları yüklemek istiyorsanız, sadece yerine dosya adlarını saklayın.

Smarty biri popüler bir seçenektir. (Üzgünüm, bunun için MySQL PHP harici ihtiyacımız olacak) kendi haddeleme öneririz. Burada bazı öneriler: http://stackoverflow.com/questions/1064916/how-should-i-design-my-code/1064946#1064946