網站製作學習誌

記錄學習製作網站的一切

[作品] 《PHP Smarty 樣版引擎》勘誤表

給各位讀者:

雖然筆者在《PHP Smarty 樣版引擎》中已經盡了最大的努力,但是難免還是會有疏漏之處。以下提供本書第一刷的勘誤修正表:

封面及頁 2-3 第 1 行

osCommerce 並沒有採用 Smarty ,應更正為 XT-Commerce 。 (感謝 domecc 讀者提供)

頁 2-6 第 15 行

1
...在第 6 章將...

應改為

1
...在第 10 章將...

頁 3-7 架構圖

少了一層 Project ,正確如下: (感謝 yaue 讀者提供)

Smarty 類別架構圖

頁 3-13 第 13 行

1
$tpl = new Smarty();

應改為

1
$smarty = new Smarty();

(感謝 chihwen 讀者提供)

頁 5-14 倒數第 4 行

1
smarty_sample\templates\ch05\07.htm

應加入 .tpl :

1
smarty_sample\templates\ch05\07.tpl.htm

(感謝 domecc 讀者提供)

頁 5-16 第 5 行

如果找不到 plugin 時就會在 PHP 內建的函式尋找是否有定義該函式,但是這個規則對陣列則是例外。

因為 Smarty 在處理陣列時,會另外用 _run_mod_handler 方法來處理,因此陣列相關函式就不適用以上的規則。

但是我們還是可以透過 @ 這個操作符號來直接對陣列使用 PHP 內建的函式,如下:

1
{$array|@count}

頁 6-2 下半頁 ~ 6-3 上半頁

if 標籤判斷式所支援修飾字的表格說明對應錯亂,正確如下:

修飾字 替代語法 範例 語意 PHP 同等語法
== eq $a eq $b 等於 ==
!= ne, neq $a neq $b 不等於 !=
> gt $a gt $b 大於 >
< lt $a lt $b 小於 <
>= gte, ge $a ge $b 大於或等於 >=
<= lte, le $a le $b 小於或等於 <=
=== $a === 0   值與型態皆相等 ===
! not not $a 否定 !
% mod $a mod $b 取 $a 除以 $b 的餘數 %
is [not] div by $a is not div by $b   $a 是否能被 $b 整除 $a % $b == 0
is [not] even $a is not even   $a [非]偶數 $a % 2 == 0
is [not] odd $a is not odd   $a [非]單數 $a % 2 != 0
is [not] even by $a is not even by $b   *註解 ($a / $b) % 2 == 0
is [not] odd by $a is not odd by $b   *註解 ($a / $b) % 2 != 0

(感謝 chihwen 讀者提供)

頁 7-12 第 3 行

第 3 行並非程式內容,而是檔案路徑名稱。

頁 11-3 第 18 行

1
...不過有幾種類型的 Pluging 則要透過...

應改為

1
...不過有幾種類型的 Plugins 則要透過...

頁 13-11 架構圖

少了 plugins 資料夾,正確應為:

Smarty Blog 架構圖

頁 17-33

MVC 的圖解錯誤,下圖為正確圖解:

MVC

頁 B-12

在「你應該要注意的事」裡,有關 MySQL 4.0 與 MySQL 4.1 的觀念是有問題的。詳情請參考筆者的「MySQL 4.1+ 編碼快速入門」一文。

如果大家有看到什麼不對的地方,也歡迎在這裡提出。

再次謝謝大家的支持。

Comments