工作這幾個月來,看同事的程式碼,慢慢對網頁程式有些瞭解了,前端用HTML拼湊我要呈現的東西,用CSS來讓畫面更有型,更美觀,用JavaScript讓網頁可以動態、根據不同狀況來產生不同網頁物件,或捕捉事件來控制網頁物件。而PHP用來在後端跟Server互動,比方根資料庫互動,或是跟檔案互動。而PHP最終目的也是要呈現資料給使用者看,所以PHP除了當純提供function,提供變數之外,本身也可以是個HTML,只是,他的副檔名必須是.PHP,這個概念,跟ASP差不多。
而程式跟HTML怎麼結合呢,目前看同事的寫法有兩種,一種是以HTML為主體,然後PHP是個區段,第二種,是PHP為主體,而HTML則透過ECHO方式吐出來,而前同事似乎比較喜歡第二種寫法(沒有批評的意思,只是從結果論)。
我個人喜歡第一種風格,原因是
1.以HTML為主體,可以直接把個PHP檔在Dreamwave開啟,看到確切的排版,如果以PHP為主體,你只能看到一片空白。
2.在瀏覽器進入Debug模式之後(通常按F12),如果用HTML為主體,則可以正常的單步看每行HTML的TAG有沒有寫錯,或是Script有沒有寫錯,或PHP有無正確(某些瀏覽器會直接看到PHP執行過後的數值而已),但是如果以PHP為主體,那麼ECHO所吐出的會變成一大行,根本就無法單步Debug了。
----------------方法一:HTML為主體----------------
<!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" xml:lang="en" lang="en">
<?php
$user=$_GET['session'];
$session_path="/root/config/webaccess/httpd/".$user;
session_save_path($session_path);
session_start();
?>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" type="text/css" href="style/manage-style.css"/>
<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
<title>我的網頁</title>
</head>
<body>
<div class="DivContent">
<label class="Lbl_Title">測試<?php echo $session ?></label>
</div>
</body>
</html>
----------------方法二:PHP為主體----------------
echo '<!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" xml:lang="en" lang="en">'
$user=$_GET['session'];
$session_path="/root/config/webaccess/httpd/".$user;
session_save_path($session_path);
session_start();
echo '<head>';
echo '<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>';
echo '<link rel="stylesheet" type="text/css" href="style/manage-style.css"/>';
echo '<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>';
echo '<title>我的網頁</title>';
echo '</head>';
echo '<body>';
echo ' <div class="DivContent">';
echo ' <label class="Lbl_Title">測試 $session</label>';
echo ' </div>';
echo '</body>';
echo '</html>';
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">'
$user=$_GET['session'];
$session_path="/root/config/webaccess/httpd/".$user;
session_save_path($session_path);
session_start();
echo '<head>';
echo '<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>';
echo '<link rel="stylesheet" type="text/css" href="style/manage-style.css"/>';
echo '<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>';
echo '<title>我的網頁</title>';
echo '</head>';
echo '<body>';
echo ' <div class="DivContent">';
echo ' <label class="Lbl_Title">測試 $session</label>';
echo ' </div>';
echo '</body>';
echo '</html>';
我不是很明白,會有人喜歡第二種嗎?或是有什麼理由要寫成第二種呢?目前只覺得,除非為了省時間,偷懶XD
沒有留言:
張貼留言