2011-06-26 72 views
1

我想在php中創建一個網站,其工作方式與https://www.bitcoins.lc/相同,就其每個頁面而言佈局相同,但內容會隨着您更改鏈接/頁面而改變,我是否在php中使用layout.php和index.php以及header.php等來設置它?PHP文件格式/設計

我被告知閱讀有關MVC框架,但我並不真正理解這一切。

任何幫助或建議,將不勝感激。

傑森

+0

克隆的'http:// stackoverflow.com/questions/6480947/layout-of-a-simple-php-mysql-website'? – levu

+0

嘗試閱讀本主題[鏈接](http://stackoverflow.com/q/953675/815295) – redexp

回答

-2

最簡單的方法是通過Sjoerd所描述的。 如果你的頁面只包含一些元素,那麼交換機或者語句就沒有錯。

的index.php:

<html> 
    <body> 

     <!-- Wrapper div --> 
     <div id="wrapper> 


      <!-- Header div --> 
      <div id="header"> 
       <?php 
        include('header.php'); // File containing header code 
       ?> 
      </div> 

      <!-- Content div --> 
      <div id="content"> 


       <!-- Left Colon div --> 
       <div id="leftCol"> 
        <?php 
         include('leftMenu.php'); // File containing the menu 
        ?> 
       </div> 


       <!-- Center colon --> 
       <div id="centerCol"> 
        <?php 
         $page = $_GET['page']; // To get the page 

         if($page == null) { 
          $page = 'index'; // Set page to index, if not set 
         } 
         switch ($page) { 

          case 'index': 
           include('frontPage.php'); 
           break; 

          case 'about': 
           include('about.php'); 
           break; 

          case 'contact': 
           include('contact.php'); 
           break; 
         } 

        ?> 
       </div> 

      </div> 

      <!-- Footer div --> 
      <div id="footer"> 
       <?php 
        include('footer.php'); // File containing the footer 
       ?> 
      </div> 
     </div> 
    </body> 
</html> 

的header.php:

<?php 
    echo "This is header"; 
?> 

leftMenu.php:

<?php 
    echo "<a href='index.php/?page=index'>Front Page</a>"; // set page to index 
    echo "<a href='index.php/?page=about'>About</a>";  // page = about 
    echo "<a href='index.php/?page=contact'>Contact</a>"; // page = contact 
?> 

+0

你必須做網址重寫,並做一個前端控制器。否則你的網站很醜陋 –

-1

您可以包括標題和每一頁頁腳:

<?php 
include('header.php'); 
?> 
Welcome to my page 
<?php 
include('footer.php'); 
?> 

把頭部和導航條中的header.php,並在footer.php頁腳。

+0

這樣你就可以在header.php和footer.php上擁有無與倫比的html標記了 –

0

希望你擔心MVC,因爲你正在閱讀有關這方面的複雜文檔。我建議你通過一個幫助你輕鬆理解和創建一個MVC框架的文檔。如果你在不瞭解其基礎知識的情況下繼續進行項目,那將會不太好。請看下面的文章,讓我知道它是否有幫助。如果您需要任何支持,請隨時聯繫。

http://www.henriquebarroso.com/how-to-create-a-simple-mvc-framework-in-php/

+0

好的,謝謝!我午餐後讀它.. –

+0

太棒了。希望它能幫助:) –

+0

香港專業教育學院開始通過它,但香港專業教育學院有一個問題,我得到了Netbeans的一個錯誤警告,此代碼:功能的loadView($視圖,$瓦爾=「」) \t { \t \t如果( is_array($ vars)& & count($ vars)> 0) \t \t \t extract($ vars,EXTR_PREFIX_SAME,「wddx」); \t \t require_once('view /'.$ view。'。php'); \t} –

2

這是我通常採取的方法對此:

FILES:

  • layout.php中
  • 的index.php
  • 視圖
    • _index.php

layout.php中:

<html> 
<head> 
    <title><?php echo $title; ?></title> 
</head> 
<body> 
    <?php include($childView); ?> 
</body> 
</html> 

_index.php:

<section> 
    Some page content 
</section> 

指數。php:

<?php 
    $title = 'Home'; 
    $childView = 'views/_index.php'; 
    include('layout.php'); 
?> 

基本上,頁面本身告訴佈局什麼視圖注入內容區域。這與您如何使用ASP.NET ContentPlaceholder元素相似。