Re: [心得] 基本 php 書寫習慣
※ 引述《appleboy46 (我是道明柏毅)》之銘言:
: : 3. Template engine 應用則用, 當省則省.
: : 不是每個專案都應該要套這東西上去, 但我也不認為 coder 能因此而不學 XD
: : 對不使用樣版引擎的 php script 來說, 應盡量使得程式碼與 html 分開,
: : 並適當在此加上註解, 以便日後修改除錯.
: 我想問問這點
: 請問如果不用樣板 怎麼把程式碼跟 html分開
: 寫PHP 我都是2個混在一起 最近想學smarty
就只能浪費記憶體, 把該查的東西先查完再進入 html 階段啊 XD
舉個例來說說一個簡單, 不使用樣版引擎的分離法.
<!DOCTYPE ... > (第一行, 理由我以前寫過了)
<?php
// segment 1, 處理輸入
$inData = $_POST['data'] ; // 傳進來的資料
$inHead = $_POST['head'] ; // 傳進來個頭
$inDB = $_POST['db'] ; // 傳進來的資料庫名稱
// segment 2, 主要運算
require_once("mydb.inc.php") ; // 使用 PEAR::DB 我寫的一個小檔
require_once("ezStrProc.inc.php") ; // 常用的字串處理
$myDB = getDB(doStr($inDB)) ;
$qStr = "select * from MYTBL" ;
$ret = $myDB->query($qStr) ;
// 好吧, $myDB, $qStr, $ret 也都是習慣不加註解的變數名稱 XD
$outbuff = array() ; // 這個也是
while($ret->fetchInto($raw))
array_push($outbuff, $raw) ;
?>
(一堆 html)
<table>
<tr><th>aa</th><th>bb</th></tr>
<?php
reset($outbuff) ;
$outstr = "" ; // 又是一個習慣上不加註解的變數 ^^;;
foreach($outbuff as $key=>$val)
$outstr .= "<tr><td>$key</td><td>$val</td></tr>\n" ;
echo $outstr ;
?>
</table>
(又一堆 html)
所以 html 堆裡頭, 不會有關於程式邏輯的東西.
而這樣的作法, 其實也就很接近 template engine 所希望弄到的事情.
對於我這樣 show 表格的方式還有意見的話, 網路上其實也都抓得到各種的
array_display, form_generator 一類的東西 ^^;;
不然你以為樣板引擎是怎麼做到這些事的 :p
個人覺得最難看的程式就是那種沒事雜一堆 <?php echo $aaa;?> 在 html 裡的
所以如果情況許可, 我會習慣把 <?php 都放在該行的第一格, 省得除錯傷眼 ^^;;
--
鬼壓床怎麼辦
騎上去啊
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 222.157.136.54
※ 編輯: clifflu 來自: 222.157.136.54 (11/20 01:41)
討論串 (同標題文章)
PHP 近期熱門文章
PTT數位生活區 即時熱門文章