İyi uygulama php kullanırken başlıklar, navigasyon ve diğer unsurları içerir?

4 Cevap php

Ben bu elemanlar genellikle profesyonel web tasarımcıları tarafından nasıl ayrılacağını bilmiyorum:

gibi bu:

<?php include("head.php"); ?>
<?php include("lang.php"); ?>
<?php include("nav.php"); ?>

ya da sadece bu gibi

<?php include("head.php"); ?>
<?php include("header.php"); ?>

ya da sadece ben birlikte tekrarlamak istiyorum tüm unsurları yerleştirerek:

<?php include("head-header.php"); ?>

Should I use php or html extensions in those elements? (head,nav, etc..)?

What should I do with the <title> etiketlemek?

Bütün HTML (veya PHP?):

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7"/>
 <title>New Project</title>
 <link rel="stylesheet" type="text/css" href="styles/global.css" />
 <link rel="stylesheet" type="text/css" href="styles/home.css" />
 <script type="text/javascript" src="scripts/jquery-1.3.2.min.js"></script>
 <script type="text/javascript" src="scripts/jquery.corner.js"></script>
 <script type="text/javascript" src="scripts/custom.js"></script>
</head>
</head>
<body id="home">
<div id="header">
 <div class="container">
  <div id="topbar">
   <h1><a href="http://widerdesign.co.nr/">wider design</a></h1>
   <ul id="lang">
    <li><a href="index.php">English</a></li>
    <li><a href="es/index.php">Español</a></li>
    <li><a href="tw/index.php">中文(繁體)</a></li>
    <li><a href="cn/index.php">中文(简体)</a></li>
   </ul>
   <ul id="nav">
    <li class="home"><a href="index.html">home</a></li>
    <li class="portfolio"><a href="portfolio.php">portfolio</a></li>
    <li class="about"><a href="about.php">about</a></li>
    <li class="contact"><a href="form.html">contact</a></li>
   </ul>
  </div>
 </div>
</div>
<div id="content">
 <div class="container">
  <div id="tagline">
   <div>
    <h2><strong>Maecenas nisl quam</strong>, volutpat ut tincidunt quis, rutrum quis nibh. Nulla est nunc, pellentesque ac dictum ac, condimentum convallis odio.</h2>
    <p>Maecenas nisl quam, volutpat ut tincidunt quis, rutrum quis nibh. Nulla est nunc, pellentesque ac dictum ac, condimentum convallis odio. Maecenas nisl quam, volutpat ut tincidunt quis, rutrum quis nibh. Nulla est nunc, pellentesque ac dictum ac, condimentum convallis odio. Maecenas nisl quam, volutpat ut tincidunt quis, rutrum quis nibh. Nulla est nunc, pellentesque ac dictum ac, condimentum convallis odio.</p>
   </div>
   <a href="#"><img src="images/project3.png"/></a>
  </div>
  <div id="mainbar">
   <h2>Featured Work</h2>
       <div class="pusher">
     <a href="#"><img src="images/project3.png"/></a>
     <div id="info">
      <h2><a href="index.html">Best Language School</a></h2>
      <p>Maecenas nisl quam, volutpat ut tincidunt quis, rutrum quis nibh. Nulla est nunc, pellentesque ac dictum ac, condimentum convallis odio.</p>
     </div>
    </div>
    <div class="pusher">
     <a href="#"><img src="images/project3.png"/></a>
     <div id="info">
      <h2><a href="index.html">Best Language School</a></h2>
      <p>Maecenas nisl quam, volutpat ut tincidunt quis, rutrum quis nibh. Nulla est nunc, pellentesque ac dictum ac, condimentum convallis odio.</p>
     </div>
    </div>
    <div class="pushed">
     <a href="#"><img src="images/project3.png"/></a>
     <div id="info">
      <h2><a href="index.html">Best Language School</a></h2>
      <p>Maecenas nisl quam, volutpat ut tincidunt quis, rutrum quis nibh. Nulla est nunc, pellentesque ac dictum ac, condimentum convallis odio.</p>
     </div>
    </div>
   </div><!-- #mainbar -->
  </div><!-- .container -->
 </div><!-- #content -->
<div id="footer">
 <div class="container">
  <div id="bottombar">
   <p>Copyright © 2009 New Project. All Rights Reserved. </p>
  </div>
 </div>
</div>
</body>
</html>

En iyi uygulama nedir?

4 Cevap

Hakkında en iyi uygulamayı bilmiyorum, ama benim yaklaşım her zaman header-içerik-footer olmuştur. (<div id="content">, vb dahil) gerçek içeriği önce olur herşey altbilgi içerik sonra başlık ve her şeyi içine gider. Bu şekilde sizin gerçek içeriği herhangi bir düzen ile ilgili biçimlendirme yok ve daha kolay görünüme değiştirebilirsiniz.

Genellikle hatları açısından oldukça küçük olduğundan, birçok yerinde başlığını bölme herhangi bir sebep görmüyorum. Ayrıca ek içeren tüm biraz sayfa nesil yavaşlatacaktır.

Ayrıca, muhtemelen bazı aşamada onlara bazı mantık ihtiyacınız olacaktır. Php dosyalarını kaydetmek için en iyisidir.

Pratik bir örnek olarak, burada senin düzen kesecekti nasıl:

header.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7"/>
 <title>New Project</title>
 <link rel="stylesheet" type="text/css" href="styles/global.css" />
 <link rel="stylesheet" type="text/css" href="styles/home.css" />
 <script type="text/javascript" src="scripts/jquery-1.3.2.min.js"></script>
 <script type="text/javascript" src="scripts/jquery.corner.js"></script>
 <script type="text/javascript" src="scripts/custom.js"></script>
</head>
</head>
<body id="home">
<div id="header">
 <div class="container">
  <div id="topbar">
   <h1><a href="http://widerdesign.co.nr/">wider design</a></h1>
   <ul id="lang">
    <li><a href="index.php">English</a></li>
    <li><a href="es/index.php">Español</a></li>
    <li><a href="tw/index.php">中文(繁體)</a></li>
    <li><a href="cn/index.php">中文(简体)</a></li>
   </ul>
   <ul id="nav">
    <li class="home"><a href="index.html">home</a></li>
    <li class="portfolio"><a href="portfolio.php">portfolio</a></li>
    <li class="about"><a href="about.php">about</a></li>
    <li class="contact"><a href="form.html">contact</a></li>
   </ul>
  </div>
 </div>
</div>
<div id="content">
 <div class="container">

content.php

  <div id="tagline">
   <div>
    <h2><strong>Maecenas nisl quam</strong>, volutpat ut tincidunt quis, rutrum quis nibh. Nulla est nunc, pellentesque ac dictum ac, condimentum convallis odio.</h2>
    <p>Maecenas nisl quam, volutpat ut tincidunt quis, rutrum quis nibh. Nulla est nunc, pellentesque ac dictum ac, condimentum convallis odio. Maecenas nisl quam, volutpat ut tincidunt quis, rutrum quis nibh. Nulla est nunc, pellentesque ac dictum ac, condimentum convallis odio. Maecenas nisl quam, volutpat ut tincidunt quis, rutrum quis nibh. Nulla est nunc, pellentesque ac dictum ac, condimentum convallis odio.</p>
   </div>
   <a href="#"><img src="images/project3.png"/></a>
  </div>
  <div id="mainbar">
   <h2>Featured Work</h2>
       <div class="pusher">
     <a href="#"><img src="images/project3.png"/></a>
     <div id="info">
      <h2><a href="index.html">Best Language School</a></h2>
      <p>Maecenas nisl quam, volutpat ut tincidunt quis, rutrum quis nibh. Nulla est nunc, pellentesque ac dictum ac, condimentum convallis odio.</p>
     </div>
    </div>
    <div class="pusher">
     <a href="#"><img src="images/project3.png"/></a>
     <div id="info">
      <h2><a href="index.html">Best Language School</a></h2>
      <p>Maecenas nisl quam, volutpat ut tincidunt quis, rutrum quis nibh. Nulla est nunc, pellentesque ac dictum ac, condimentum convallis odio.</p>
     </div>
    </div>
    <div class="pushed">
     <a href="#"><img src="images/project3.png"/></a>
     <div id="info">
      <h2><a href="index.html">Best Language School</a></h2>
      <p>Maecenas nisl quam, volutpat ut tincidunt quis, rutrum quis nibh. Nulla est nunc, pellentesque ac dictum ac, condimentum convallis odio.</p>
     </div>
    </div>
   </div><!-- #mainbar -->

footer.php

  </div><!-- .container -->
 </div><!-- #content -->
<div id="footer">
 <div class="container">
  <div id="bottombar">
   <p>Copyright © 2009 New Project. All Rights Reserved. </p>
  </div>
 </div>
</div>
</body>
</html>

Sayfadan diğerine değiştirmek için ve ne aynı kalacak ihtiyacı ne daraltmak. Hatta şeyler takas mantığı atabilir. Örneğin, burada bir standart sayfası:

<?php include("header.php"); ?>

<title>This is my page</title>
<body>
....
</body>

<?php include("footer.php"); ?>

Ama diğerleri değil, bazı sayfalarda bir menü olsun istiyorum, ama Diyelim ki:

<?php include("header.php"); ?>

<title>This is my page</title>
<body>

<?php 

if ($pagetype == "frontpage"){

include("frontpagemenu.php");

}else{

include("backpagemenu.php");

}

</body>

<?php include("footer.php"); ?>

Ayrıca, başka iyi uygulama bir sayfada her şeyi tutmak, böylece bu gibi içeren çoklu sayfaları oluşturmak için var ve bir formu kullanmayın:

<?php

include("header.php");

switch($_REQUEST['mode']) {

case 'add':
// code to add
break;

case 'edit':
// code to add
break;

case 'update':
// code to update
break;
case 'delete'
// code to delete
break;

default:
// index page
?><form action="index.php" method="get">
// form stuff
<input type="hidden" name="mode" value="add">
</form><?php
break;

}

include("footer.php");
?>

Ne yapar her şeyi kontrol etmek kullanım şekilleri olduğunu ve tek bir php dosyası ile tüm CRUD işlevleri yapabilirsiniz. Ben uzun vadede çok zaman kazanmak için bu yöntemi buldum ve programı daha okunabilir ve takip etmek kolay ettik. Bu yardımcı olur umarım.

Daha sen daha fazla işlem PHP sayfasını yüklemek için yapıyor haizdir.

Ben her sayfanın üstbilgi ve altbilgi değiştirmek gerekiyor bir şey, ve muhtemelen sabit olmadığını kontrol edebilir, belirli bir sayfa için başlığında bir stil göstermek gibi basit şeyler varsa, sadece bir header.php ve footer.php dahil eğilimindedir yerine header.php dosyasının birden fazla sürümü olan daha defined olduğunu.

Ben <title> etiketi ile ne yapmalıyım?

Orada bunu yapmak için daha iyi yollar olabilir ama şu yöntem bu sorun için güzel çalışıyor olabilir:

main page: (header.php dahil olduğu)

<?
$title = "Title of this Particular Page";
include("header.php");
?>

inside of header.php:

<? global $title; ?>
<html>
<head>
<title><?=$title?></title>
</head>