翻譯:Surran pkstudio_comeback@yahoo.com
轉載請注明出處和譯者
原文見:http://smarty.php.net/sampleapp/sampleapp_p1.php
Smarty程序應用范例:留言簿(Guestbook)第一節
這是一個使用了Smarty的PHP應用程序。目的是就如何在應用程序中使用Smarty,以及如何分離你的“表現”(presentation)作一個示范。這個范例相當簡單,但包含了一個完整的迷你框架(mini-framework)用于快速簡單地生成一個Smarty驅動的應用程序。一旦你理解了將“表現”分離的觀念,你也許會把它用在一些程序開發上。如果真是那樣,你需要根據你自己的判斷在你的程序中使用以下代碼,并為此負責。
你可以從這里下載這個范例的源代碼。http://www.phpinsider.com/php/code/guestbook/Guestbook-1.0.tar.gz
你可以在這里先看看這個范例的演示。http://www.phpinsider.com/php/code/guestbook/
這篇文章不指導也不涉及如何安裝Apache,PEAR和MySQL。請確認你已經知道這些事情或者有可以直接使用的相關軟件環境。如果你的運行環境與范例所示有差別,你需要在給出的代碼中進行相應的調整。
接下來我們會開發一個沒有管理員界面的留言簿程序,用戶可以瀏覽也可以留言。會涉及到一些與Smarty相關的編程知識,比如表單和數據庫數據的讀取與顯示。
這個范例是Smarty安裝指南中留言簿程序的擴展,所以我們是基于此之上進行開發的。以下是我們這個程序用到的文件:
guestbook app files/directories:
/web/www.example.com/docs/
/web/www.example.com/docs/guestbook/
/web/www.example.com/docs/guestbook/index.php
/web/www.example.com/smarty/guestbook/
/web/www.example.com/smarty/guestbook/templates/
/web/www.example.com/smarty/guestbook/templates_c/
/web/www.example.com/smarty/guestbook/configs/
/web/www.example.com/smarty/guestbook/cache/
/web/www.example.com/smarty/guestbook/libs/
/web/www.example.com/smarty/guestbook/libs/guestbook_setup.php
/web/www.example.com/smarty/guestbook/libs/guestbook.lib.php
/web/www.example.com/smarty/guestbook/libs/sql.lib.php
下面,我們一個一個地解釋這些文件的用處:
/web/www.example.com/docs/
/docs/ 是我們WEB服務器的根目錄(Apache httpd.conf中的DocumentRoot)。
/web/www.example.com/docs/guestbook/
/guestbook/ 是能被瀏覽器訪問的一個相對于根目錄的下級目錄,存放著我們的程序。
/web/www.example.com/docs/guestbook/index.php
index.php 是我們程序的“大門”,WEB瀏覽器將通過http://www.example.com/guestbook/index.php訪問到這個腳本文件。
/web/www.example.com/smarty/guestbook/
這是存放我們這個程序(實現邏輯的)所有腳本文件的目錄,這些腳本文件不一定要存放在服務器根目錄下。是否將所有腳本文件都存放在服務器的根目錄下完全隨你所愿,但是這里我們只把允許WEB瀏覽器直接訪問的頁面文件放在WEB服務器的根目錄下。你可以使用Apache的“.htaccess”方法或其他WEB服務器軟件的方法禁止WEB瀏覽器對存放在根目錄下的這些(不宜讓WEB瀏覽器直接訪問的)程序腳本文件的直接訪問。
/web/www.example.com/smarty/guestbook/templates/
這里存放我們的Smarty模板文件。
/web/www.example.com/smarty/guestbook/templates_c/
This is where Smarty places its compiled template files. If you installed this correctly, the web server user running PHP has write access here. For most intents and purposes you can just ignore this directory. 這里存放Smarty編譯過的模板文件。如果你安裝正確,運行PHP的WEB服務器對這里有寫權限。出于一些偷懶的目的你可以忽略這個目錄。(瞎翻的,用我自己的話講:WEB服務器要具有這個目錄的寫權限,否則不能正確安裝。如果不想傷腦筋,就忽略它吧。)
/web/www.example.com/smarty/guestbook/configs/
用于存放我們程序的設置文件。設置文件包含著你對來自模板或者程序的訪問權限的設置信息。它們不是PHP腳本文件,而是一些可以被Smarty的設置文件解析器解析的文本文件。
/web/www.example.com/smarty/guestbook/cache/
用于存放Smarty的緩存文件。這個目錄僅僅當Smarty的緩存功能被打開時才有用。如果你正確安裝了,運行PHP的WEB服務器對這里有寫權限。就像/templates_c/目錄一樣,也可以被忽略。(同/templates_c/目錄的翻譯)
/web/www.example.com/smarty/guestbook/libs/
/libs/ 我們將把程序的主要腳本文件存放這里。
/web/www.example.com/smarty/guestbook/libs/guestbook_setup.php
guestbook_setup.php 我們在該腳本文件中存放一些程序的初始化信息。
/web/www.example.com/smarty/guestbook/libs/guestbook.lib.php
guestbook.lib.php 我們在該腳本文件中存放大部分程序的實現邏輯。
/web/www.example.com/smarty/guestbook/libs/sql.lib.php
sql.lib.php 我們在該腳本文件中存放程序的數據庫訪問邏輯。
新聞熱點
疑難解答