Hayır, yaklaşımınız yanlış. Sen header.php her sayfa çağrı üzerine denilen olacağını varsayıyoruz
- : İşte
tasarımınızda ana hatalarıdır. Bu yanlış.
- Header.php'nin her zaman statik olacağını varsayıyorsunuz. Bu yanlış.
- Sayfanın kendisi için bir şablon oluşturmayı unutmuşsunuzdur.
ana kural herkes ezbere öğrenmek zorunda:
değil tek bir karakter tüm veriler hazır hale gelene kadar, tarayıcıya gönderilen gerekmektedir.
Neden?
- 2011 tarihi. AJAX dönemi. Kodunuz tüm HTML sayfası yerine JSONed verilerini göndermek zorunda kalırsa ne olur?
HTTP header
adlı bir şey var. Bazen onları göndermek zorundayız. Süslü HTML üstbilginizi zaten gönderdiyseniz, imkansız olur.
- sadece 4 sayfalık bir site içindir. Tamam. Şansınız olduğunu ve başka bir 4 sayfalık site için istek aldığınızı düşünün. Sadece şablonları değiştirmeli ve motor dosyalarına dokunma. Bu gerçekten büyük bir avantaj.
- Sayfa içeriğinize göre sayfalarınız için özel bir
<title>
etiketi hazırlayacağınızı düşünün. Bu son derece yaygın bir şey değil mi? Ama şablonları kullanmadan yapamazsın.
Bu nedenle, her bir üstbilgi için üstbilgi ve altbilgi içeren bir genel site şablonuna ve ayrıca özel şablonlara sahip olmanız gerekir.
bir örnek düzeni
böyle olacak:
.1. sayfa kendisi.
o şey verir ama sadece gerekli verileri toplamak ve bir şablon çağırır:
<?php
//include our settings, connect to database etc.
include dirname($_SERVER['DOCUMENT_ROOT']).'/cfg/settings.php';
//getting required data
$DATA=dbgetarr("SELECT * FROM links");
$pagetitle = "Links to friend sites";
//etc
//and then call a template:
$tpl = "links.tpl.php";
include "template.php";
?>
.2. Ana site şablonu olan template.php
,
senin başlık ve bitişin oluşur:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>My site. <?=$pagetitle?></title>
</head>
<body>
<div id="page">
<?php include $tpl ?>
</div>
</body>
</html>
.3. ve son olarak links.tpl.php
gerçek sayfa şablonu:
<h2><?=$pagetitle?></h2>
<ul>
<?php foreach($DATA as $row): ?>
<li><a href="<?=$row['link']?>" target="_blank"><?=$row['name']?></a></li>
<?php endforeach ?>
<ul>
, kolay, temiz ve sürdürülebilir.
Kötü bir uygulama nasıl olabilir? WordPress bunu yapar. Yanıt için ' –