Kullanarak herhangi bir sorun sayfaya özgü içeriği ancak her şey için içerir?

4 Cevap php

Ben arayüzü oldukça hafif bir siteyi geliştiriyorum ve çoğunlukla veritabanı (eşit miktarda okuma ve yazma) tahrikli. PHP ile yazılmış ve ben her sayfası yapmak için en kolay yolu buldum:

Sayfa:

<?php include("header-nav.php"); ?>
  <table>
    <tr>
      <th>Column 1</th>
      <th>Column 2</th>
    </tr>
    <tr>
      <td>Data Point 1</td>
      <td>Data Point 2</td>
    </tr>
    <tr>
      <td>Data Point 3</td>
      <td>Data Point 4</td>
    </tr>
  </table>
<?php include("footer.php"); ?>

header-nav.php:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Welcome</title>
    <link rel="stylesheet" type="text/css" href="assets/style.css" />
  </head>
  <?php include("db_connect.php"); ?>
  <body>
    <div id="wrapper">
      <h1>Welcome</h1>
      <ul id="nav">
        <li><a href="index.php">Home</a></li>
        <li><a href="data.php">Data</a></li>
      </ul>

footer.php:

    </div>
  </body>
  <?php mysql_close($dbc); ?>
</html>

Kendileri tarafından bu sayfaların hepsi geçerli değildir ve hatalar üretebilir. Bütün bir sayfa oluşturmak için birlikte çalışan, harika görünüyorsun.

Benim soru: Would this be an efficient and easy to maintain solution?

Bu sadece bir kaç ekleme mantıklı (en az bir ve altta bir) içerdiğini görünüyor. Site ben bir web framework gerek yok o kadar hafiftir Özellikle çünkü. Bu sadece <html><head> ... vs ile başlayan olmadan sayfaları oluşturmak için rahatsız hisseder

4 Cevap

Bu kesinlikle bir iyi bir şeydir. Ben son derece tavsiye ederim. Eğer bunu yapabilirsiniz başlığını ya da bir şey değiştirmek gerekiyorsa bu şekilde bir kez kolayca yerleştirin. Ve içeren için dosya sistemini vurmak için okuma zaman gerçekten bir endişe büyük değil. Yani bu kesinlikle kabul edilebilir olduğunu söyleyebilirim.

"Kendileri tarafından bu sayfaların hepsi geçerli değil" - Ben bu ile ne demek emin değilim. Bir HTML Validator onları geçmek olmaz demek? Eh tabii ki değil - onlar sayfalarının parçalarıdır. Önemli idam PHP üretir HTML karşı çalıştırdığınızda validator ne diyor.

Bu bir yaklaşım olduğunu ve sorunun boyutuna bağlı olarak bunu geçerli bir biri ile mücadele ediyoruz.

Evet, IMO bu özellikle küçük bir site için, bir şeyler yapmak için gayet iyi bir yoldur. Birçok kez kendim yaptım.

Da rahatsızlık üzerine alın. Çoğu IDE (Dreamweaver akla gelir) aslında siteleri geliştirme bu şekilde desteklemek ve doğru içerik görüntülemek ve bir WYSIWYG isterseniz içerir onur olacaktır.

Ben kullanarak içerir siteleri geliştirmek, şöyle:

site header.inc:

require_once 'html-header.inc';
<div id="header">
/* menus, navigation, etc. */
</div>
<div class="content">

site Footer.inc:

</div>
<div id="header">
/* menus, navigation, etc. */
</div>
require_once 'html-footer.inc';

Nerede "html-header.inc" ve "html-Footer.inc" olan HTML başlık ve altbilgi etiketleri ve elementler (başlık, meta, vb.) Sonra bana sayfada herhangi bir CSS, JavaScript, başlıklar, eklemek için izin işlevleri vardır, ve ob_start() ve ob_end_flush() aslında, altbilgi, bu işlemek için kullanın. örneğin

stylesheet_register($path, $media="screen", $type="text/css");
javascript_register($path, $type="text/javascript");
title_set($title, $overwrite=true);

Bu soyutlama temel kavram: iki kez aynı "başlığını" yazmak ve "altbilgi" HTML kodu etmeyin. Aynı kolayca uzak soyutlanmış ve ayrılacaklar herhangi bir PHP işlevselliği için de geçerlidir. İyi şanslar.