为什么使用php,php网站制作经验

大綱
● 認識 php网站制作
● php 設計經驗談
– 為什麼要用樣板
– 為什麼要用資料庫介面
– 什麼是 pear
– php + mysql4.1s
2認識 php
● 跨平台網頁程式語言
● php 可以做的事情
● 大量的 opensource 套件
3跨平台的 php
● lamp
– linux + apache + mysql + php
● 幾乎所有的 linux dist 預設都有這些套件
● wamp
– windows + apache + mysql + php
● 快速環境建立
– appserv
– easyphp
● php for iis
4php 可以做的事情
● server-side scripting
– 網頁程式設計
● command line scripting
– 用 php 來寫 shell script
● client-side gui applications
– php-gtk
5大量的 opensource 套件 (1)
● forum:
– phpbb2
● cms
– xoops
– mambo,joomla
– phpnuke
– postnuke
● calender
– php icalendar
– phpcalendar
– easyphpcalendar
6大量的 opensource 套件 (2)
● groupware
– egroupware
– dotproject
– phpgroupware
● list
– phplist
● webmail
– squirrelmail
● blog
– wordpress
– plog
7初學者的問題
● 程式碼直接寫在 html 中
– 市面上的書大都以此為教學
– 市面上大部份 php 的書本沒有說到樣版系統
– 習慣直接用 echo 輸出資料
● 不夠熟悉 html
– 表格跨行,跨欄的使用
– 表單的設計
– post 與 get 的使用時機
● 不習慣在 register_globals=off 工作
● 錯誤訊息的不熟悉
– 對英文的恐懼 ?
8怎樣的程度才不算新手 ?
● 清楚了解 server side 跟 client side 的差別
● 清楚了解 register_globals 設定的意義
● 不會搞不清邏輯判斷跟變數值指定的分別
● 清楚了解 post 跟 get,cookie 跟 session 等的 關係與差別
● 對於基本錯誤訊息有辦法解讀
● 具備基本 html 分析能力
– 一般常用 tag 分析與參數使用
– table tag 結構分析
9php 設計經驗談
● php 程式設計標準
● 幾個進階時可以考慮學習
– 建立一個標準的檔案架構
– 至少熟悉一套樣版程式
– 採用資料庫介面
– 多多使用 pear
● mysql4.1
– sub-select
– charset 的影響
10建立一個標準的檔案架構
● 你應該建立一個標準的檔案目錄架構
– 函式庫該放哪裡?
– 樣版該放哪裡 ?
– 外掛程式 ?
– 是否有網站設定檔 ?
– 是否有管理介面 ?
● 多參考目前幾個 opensource 的 cms
– xoops, phpbb2,mambo 等
● 可以簡單的 , 就不要複雜
11php 程式設計標準
● 訂定專案程式設計標準的好處
– 變數,物件,函式有固定的命名方式
– 專案的程式風格統一,降低維護複雜度
● 進行中的專案不要任意變換標準
– 標準訂定應該是專案一開始就要決定的
– 標準訂定應該由專案參與人一同討論決定
● 可以參考的設計標準資料
– php 程式設計標準
12php 程式設計標準之外 (1)
● 架構整個網站的時候應該使用的方法
– 至少使用三層式程式設計
● 表現層 - 實際輸出 html
● 邏輯層 - 處理程式流程
● 資料處理層 - 處理資料存取
– 就是使用 mvc(model-view-controller) 架構你 的網站
– 函式,物件之中不要直接輸出資料
● 儘量採用 return $html 的方式處理
13php 程式設計標準之外 (2)
● 該用 echo 還是 printf ?
– 輸出一般字串用 echo
– 輸出內含變數的字串用 printf
● printf('a href='%s' target='%s'>%s</a>',$url,$target,$name);
● printf('a href='%s' target='%s'>%s</a>',array($url,$target,$name));
– 當建立 sql 語法的時候用 sprintf
● $sql = sprintf('select * from %s where id = %s',$tablename,$id);
14至少熟悉一套樣版程式
● 為什麼要用樣版 ?
● 兩套我推薦的樣版程式
– smarty
– tbs
15為什麼要用樣版 ?
● 別讓今天的程式,成為明天維護的負擔
● 美術設計不再為了都是程式碼的網頁苦惱
● 程式設計不再為了都是 html tag 的程式苦惱
● 網站設計改版將會是輕鬆的事情
16沒使用樣版的程式碼
使用樣版的程式碼
網頁樣版檔
官方推薦 smarty
● smarty 為 php 推薦使用的樣版引擎
– http://smarty.php.net
● smarty 採用預先編譯樣版
– 速度較快
● smarty 可以直接 assign 物件,陣列等
● smarty 提供全域變數
– $smarty.get , $smarty.post ,$smarty.server
● smarty 可直接輸出靜態頁面進行 cache
● smarty 支援外掛模組的使用
– smartyvalidate
20輕量化的 smarty-lite
● 較適合單純的樣版需求環境
● 速度較 smarty 更快
● 系統記憶體需求較少
● 功能上較 smarty 少一些
– 無法 assign 物件
– 少了輸出前中後的過濾器
– 不支援樣版存入資料庫的模式
21小而強大的 tbs
● tbs – tinybutstrong
– http://www.tinybutstrong.com
● 所見即所得的樣版引擎
● 支援 cache
● 直接存取資料庫顯示資料
– $tbs->mergeblock('blk1',$cnx_id,'select *from t_country',$p_size,$p_num,$nbr_rec);
22為什麼要用資料庫介面 ?
● 為了寫出通用各資料庫的 php 程式
● 更方便使用的資料庫的功能
● 減少程式撰寫上的複雜
23adodb
● 降低 windows 程式設計師學習門檻
– 部份介面設計類似 microsoft's ado
● 支援多種資料庫
– mysql,pgsql,oracle,mssql etc......
● 增加了許多方便的方法,程式撰寫更輕鬆
&
上一个:网站域名后缀那么多 网站依旧钟情.com的原因分析
下一个:暂无
泰顺网站建设,泰顺做网站,泰顺网站设计