2012-11-13 15 views
6

PHP'yi HTML ile birlikte kodlarken, bakmak her zaman kafa karıştırıcı ve çok acı verici görünüyor. Yapıyı anlamak kolay değil.güzel PHP'yi HTML ile nasıl kodlandırabiliriz?

PHP'yi PHP ile iyi bir yapıyla nasıl kodlandıracağınızı bilen var mı? php code

+7

Sabit ve sabit olmayan genişlikte fontların böylesine garip bir karışımı! – zerkms

+0

Birçok insan bu sebepten ötürü templating motorları kullanıyor. Bir sayfayı tamamen PHP olarak yazma eğilimindeyim, ancak genellikle statik içerik odaklı sitelerde çalışmıyorum. – Brad

+1

Hem HTML hem de PHP için kırmızı ve mavi kullanıyorsunuz, bu gerçekten kafa karıştırıcı. Bunlar için tamamen farklı renk setleri kullanıyorum ve kaybolmak neredeyse imkansız. –

cevap

6

Model-View-Controller (MVC) gibi bu konuda yardımcı olan metodolojiler var. MVC, veri katmanınızı, mantığınızdan, sunum (UI) katmanlarınızdan ayırır. CodeIgniter gibi bir çerçeve bu durumda size yardımcı olacaktır. Varolan bir çerçeveyi kullanmayacak olsanız bile, veri modellerinizi iş mantığınızdan ve daha sonra UI nesnelerinizden ayırmak nispeten kolaydır.

Düzenleme: Bir alışveriş sepeti sayfanız olduğunu varsayalım. Sen cart.php denilen bir "görünüm" dosyasına sahip olabilir ve sonra, diğer PHP dosyaları ("Kontrolörler") elde bilgi gönderebilir böylece bunun yerine:

<div id = 'special_price'> 
<?php $result = mysql_query("SELECT price FROM pricelists"); 
$row = mysql_fetch_assoc($result); 
echo $row["price"]; 
?> 
</div> 
bunu yapabilirsiniz

:

<div id = 'special_price'><?= $price ?></div> 

Bu senaryoda, sayfayı görüntülemeye çalışmadan önce tüm mantık ve veri erişimi işlenir.

+2

+1 Muck çukuru yaklaşımından tamamen kaçınmayı öneriyoruz! –

+1

çok teşekkür ederim. cevabın profectional – linjuming

1

@ ajacian81 haklıdır, ancak ek seçenekler vardır. Bahsedilen şekli, tüm kodlarınızı bir MVC çerçevesine göre yazmaktır. MVC mimarisi, karmaşık web uygulamalarının endişelerini ayırmak için mükemmel bir yoldur. MVC, uygulama mantığını, veritabanı mantığını ve görünümleri 3 ayrı yere ayırır. Bununla birlikte, karıştırılmış bir php + html kod tabanının bir MVC çerçevesine yeniden düzenlenmesi zaman alıcı olabilir. Kod tabanınızı tamamen yeniden kodlamadan html'nizden php'yi kaldırmak istiyorsanız, Twig veya Smarty gibi bir şablon motoru kullanmayı düşünün.

Bir şablon motoru kullanırsanız, php ve sql'nizi tek bir konuma ve html şablonlarınızı başka bir konuma ayırabilirsiniz. Bir MVC çerçevesi kullanıyorsanız, php, sql ve html'inizi 3 farklı konuma ayırmalısınız. Öncelikleri doğada kısa vadeli ise, sadece bir şablon motoru kullanın. Öncelikleri uzun vadede doğarsa, kodunuzu bir MVC çerçevesine dönüştürmeyi düşünün.

-2

Php bu kadar gelişmiş hale geldi, gerçekten özel yapılar için bir Çerçeve mahk usingmiyetini kullanarak hiçbir şey kazanmayacaksınız. Eğer betiklerinizi ve html ve php'nin her bölümünün her başlangıcını ve sonunu açıklıyorsanız, tam bir sosyal web sitesini veya sosyal iş portalını çalıştırmak için ne kadar hızlı ve daha az dosya aldığınızı görünce çok şaşıracaksınız. Tüm oturumlarımı ve çerezleri ve db_connect.php'yi saklayan üç büyük dosya - config.php, ini.php kullanıyorum. Tüm sayfa görünümlerim sayfa yenilemeden Ajax tarafından işlenir ve tüm formları sayfa yenilemeden Ajax kullanarak bu görünümlerin bazılarına getirilir. Tüm URL isteğim için hantal çerçevelere olan ihtiyacı ortadan kaldıran Ajax'ı çok kullanıyorum.