欧美日韩激情_美女国产一区_国产精品久久久久影院日本_69xxx在线

為什么使用php,php網(wǎng)站制作經(jīng)驗

2023-01-24    分類: 網(wǎng)站制作

大綱
● 認識 PHP網(wǎng)站制作
● PHP 設計經(jīng)驗談
– 為什麼要用樣板
– 為什麼要用資料庫介面
– 什麼是 PEAR
– PHP + MySQL4.1s
2認識 PHP
● 跨平臺網(wǎng)頁程式語言
● PHP 可以做的事情
● 大量的 OpenSource 套件
3跨平臺的 PHP
● LAMP
– Linux + Apache + MySQL + PHP
● 幾乎所有的 Linux Dist 預設都有這些套件
● WAMP
– Windows + Apache + MySQL + PHP
● 快速環(huán)境建立
– Appserv
– Easyphp
● PHP For IIS
4PHP 可以做的事情
● Server-side scripting
– 網(wǎng)頁程式設計
● 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 的書本沒有說到樣版系統(tǒng)
– 習慣直接用 echo 輸出資料
● 不夠熟悉 HTML
– 表格跨行,跨欄的使用
– 表單的設計
– POST 與 GET 的使用時機
● 不習慣在 register_globals=Off 工作
● 錯誤訊息的不熟悉
– 對英文的恐懼 ?
8怎樣的程度才不算新手 ?
● 清楚了解 Server Side 跟 Client Side 的差別
● 清楚了解 register_globals 設定的意義
● 不會搞不清邏輯判斷跟變數(shù)值指定的分別
● 清楚了解 POST 跟 GET,COOKIE 跟 Session 等的 關係與差別
● 對於基本錯誤訊息有辦法解讀
● 具備基本 HTML 分析能力
– 一般常用 TAG 分析與參數(shù)使用
– TABLE tag 結構分析
9PHP 設計經(jīng)驗談
● PHP 程式設計標準
● 幾個進階時可以考慮學習
– 建立一個標準的檔案架構
– 至少熟悉一套樣版程式
– 採用資料庫介面
– 多多使用 PEAR
● MySQL4.1
– Sub-Select
– Charset 的影響
10建立一個標準的檔案架構
● 你應該建立一個標準的檔案目錄架構
– 函式庫該放哪裡?
– 樣版該放哪裡 ?
– 外掛程式 ?
– 是否有網(wǎng)站設定檔 ?
– 是否有管理介面 ?
● 多參考目前幾個 OpenSource 的 CMS
– Xoops, phpbb2,mambo 等
● 可以簡單的 , 就不要複雜
11PHP 程式設計標準
● 訂定專案程式設計標準的好處
– 變數(shù),物件,函式有固定的命名方式
– 專案的程式風格統(tǒng)一,降低維護複雜度
● 進行中的專案不要任意變換標準
– 標準訂定應該是專案一開始就要決定的
– 標準訂定應該由專案參與人一同討論決定
● 可以參考的設計標準資料
– PHP 程式設計標準
12PHP 程式設計標準之外 (1)
● 架構整個網(wǎng)站的時候應該使用的方法
– 至少使用三層式程式設計
● 表現(xiàn)層 - 實際輸出 html
● 邏輯層 - 處理程式流程
● 資料處理層 - 處理資料存取
– 就是使用 MVC(Model-View-Controller) 架構你 的網(wǎng)站
– 函式,物件之中不要直接輸出資料
● 儘量採用 return $html 的方式處理
13PHP 程式設計標準之外 (2)
● 該用 echo 還是 printf ?
– 輸出一般字串用 echo
– 輸出內含變數(shù)的字串用 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為什麼要用樣版 ?
● 別讓今天的程式,成為明天維護的負擔
● 美術設計不再為了都是程式碼的網(wǎng)頁苦惱
● 程式設計不再為了都是 HTML Tag 的程式苦惱
● 網(wǎng)站設計改版將會是輕鬆的事情
16沒使用樣版的程式碼
使用樣版的程式碼
網(wǎng)頁樣版檔
官方推薦 Smarty
● Smarty 為 PHP 推薦使用的樣版引擎
– http://smarty.php.net
● Smarty 採用預先編譯樣版
– 速度較快
● Smarty 可以直接 assign 物件,陣列等
● Smarty 提供全域變數(shù)
– $smarty.get , $smarty.post ,$smarty.server
● Smarty 可直接輸出靜態(tài)頁面進行 Cache
● Smarty 支援外掛模組的使用
– SmartyValidate
20輕量化的 Smarty-lite
● 較適合單純的樣版需求環(huán)境
● 速度較 Smarty 更快
● 系統(tǒng)記憶體需求較少
● 功能上較 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......
● 增加了許多方便的方法,程式撰寫更輕鬆
– SelectLimit
– PageExecute,AtfirstPage,AtLastPage,Absolut ePage
– getInsertSQL,getUpdateSQL,autoExecute
● 資料庫快取,同樣的資料不用再讀資料庫
– CacheExecute
– CachePageExecute 24
ADOdb-lite
● ADOdb-lite 為 ADOdb 精簡版
● 資料庫支援程度幾乎不相上下
● 少了許多 ADOdb 提供的 Function
● 也減少了許多系統(tǒng)記憶體的耗用
25ADOdb 開發(fā)範例
● 設計分頁功能
– 分頁功能的應用很多
● 留言版 , 討論區(qū) , 資料列表 , 訂單列表 ..etc
– $rs = $db->PageExecute($sql,$onePageStep,$_GET['page']);
if(!$rs->AtFirstPage()){
... // 進行上一頁聯(lián)結輸出
}
if(!$rs->AtLastPage()){
... // 進行下一頁聯(lián)結輸出
}
26什麼是 PEAR
● PHP Extension and Application Repository
– http://pear.php.net/
– 類似 Perl 的 CPAN
– 提供安裝程式與更新升級程式 pear
● 共 31 種分類的程式套件可供取用
– 常用的像 Database HTML Mail Networking
27安裝 pear 提供的套件
● 常用的 pear 指令
● 安裝與移除的時候都會提示相依套件
28幾個好用的 PEAR 套件
● HTML 類
– HTML_QuickForm
– HTML_Table
– Pager
● XML 類
– XML_RSS
– XML_sql2xml
– XML_Tree
● Mail 類
– Mail
– Mail_Queue
● PHP 類
– PHPUnit
– PhpDocumentor
● Services 類
– Services_Delicious
– Services_Yahoo
29MySQL4.1
● 不久的將來各 Linux Dist 將預設 MySQL 4.1
● MySQL4.1 的優(yōu)點
– 支援 Sub-Select
– 更完整的多國語系支援
– 速度更快
● 4.x 起 MySQL 有 Query Cache 功能
● MySQL4.1 還差什麼 ?
– Trigger
– Stored Procedures
30MySQL Subqueries
● MySQL 4.1 以前並沒有 Subqueries
● Subqueries 的好處
– SQL 語法更簡潔
– 可查詢的方式更多樣
● 請不要客氣的使用這個方便好用的功能吧 !
● 官方文件資料
– http://dev.mysql.com/doc/mysql/en/subqueri es.html
31Trigger 跟 Stored Procedures 呢 ?
● MySQL4.x 沒有 Trigger,Stored Procedures
● MySQL5 以後才會支援 Trigger
● MySQL5 以後才會支援 Stored Procedures
– 不過目前 MySQL5 還在 beta 階段
– 但是目前已經(jīng)有部份網(wǎng)站已經(jīng)使用
32讓 MySQL 更快
● 千萬不要忘記去調整你的 my.cnf
– /etc/my.cnf
– 可以參考 /usr/share/mysql 下的範例
● 既然有 query_cache 就別浪費
● 使用 EXPLAIN 去分析你的 SQL 語法 .
33當更新到 MySQL4.1 常見問題
● 為什麼我的資料抓出來都是
● 為什麼在 phpMyAdmin2.6 中看到的都是亂碼
● 為何使用 myqldump 的資料庫都是亂碼
34一切都是多國語系支援惹的禍
● 4.1 後需要設定資料庫與 client 編碼
– 設定好資料庫預設語系
● /etc/my.cnf
– [mysqld]
– default-character-set=utf8
– character-set-server = utf8
– collation-server = utf8_general_ci
● 如果系統(tǒng)都跑 utf8
– init_connect='SET NAMES utf8′
– default-character-set = utf8
– default-collation = utf8_general_ci
– PHP 連線 MySQL 後請設定 Client 編碼
● 當資料庫連線後送出 'set names utf8'
– $db->Execute('SET NAMES utf8');
– mysql_query('SET NAMES utf8');
35一定要用 UTF8 嗎 ?
● 不一定要用 UTF8
● 資料庫或是資料表編碼指定
● 資料庫
– CREATE DATABASE `MyTABLE` DEFAULT CHARACTER SET big5
COLLATE big5_chinese_ci;
● 資料表
– CREATE TABLE `myTable` (
– ..... etc ....
– ) ENGINE=MyISAM DEFAULT CHARSET=big5 ;
● 儘量讓 Server 跟 Client 都用相同的 Char
– 若不同的 Character MySQL 會試著幫忙轉換
– 例如可以同一套 Database 資料 (utf8)
– 同時提供 big5 跟 gb2312 的 Client.
● 但是部份的轉換會失敗 , 所以會有像是漏字或 ?? 產(chǎn)生 36
匯出匯入語系設定
● 大部份的人會用 mysqldump 備份資料
– mysql4.1 以前你可以不指定語系
– mysql4.1 以後務必要指定語系
– mysqldump -u root -p --default-character-set=big5 my
Table
● 重新匯入資料
– 請記的也要加上語系設定
– mysql --default-character-set=big5 -u root -p < myTa ble.sql
37網(wǎng)站與參考文章 (1)
● PHP
– http://www.php.net
● Smarty
– http://smarty.php.net
– Smarty-Lite
● http://www.paullockaby.com/projects/smarty-lig ht/
● PEAR
– http://pear.php.net
● TBS – TinyButStrong
– http://www.tinybutstrong.com
38網(wǎng)站與參考文章 (2)
● ADOdb
– http://adodb.sf.net
– ADOdb-lite
● http://adodblite.sf.net/
● MySQL
– http://www.mysql.com
● 中文參考網(wǎng)站
– http://www.twpug.net
– http://www.php5.idv.tw
39PHP Command line scripting
● 如果你沒有學 Shell Script 的編寫
● 如果你像我一樣基本上最熟的就是 PHP
● 或許你可以考慮用 PHP 寫 Command line scri pting
40PHP Command line scripting
● 需要些什麼
– 可執(zhí)行的 PHP 執(zhí)行檔
● 例如 Mandriva 是提供 php-cli 的套件
– 還有你要知道執(zhí)行檔放在那
● Mandriva 放在 /usr/bin/php
● 怎麼寫 ?
– 就跟網(wǎng)頁程式一樣
● 語法 , 可用的函式 , 輸出 ~ 都一樣
41PHP Command line scripting
● 怎麼執(zhí)行呢 ?
– 直接 [shell#] PHP ScriptFileName 去執(zhí)行
– 在檔案開頭加上 #!/usr/bin/php -q
● 記的檔案要 chmod +x 喔
● 還有什麼要注意的 ?
– 執(zhí)行時 include 的路徑
● 建議這類的檔案使用絕對路徑 include
● 尤其當該 script 是要放入 crontab 時
– 程式的輸出或許應該要去掉 html
42如何邁向更進階 ?
● Framework 的學習
● Framework 的目的
– 簡化開發(fā)流程
– 加快效率
– 專注程序處理邏輯,而不是技術問題。
● Framework 的缺點
– 學習曲線太長
– 初學者就學習 Framework 容易忽略基礎技術
43幾個推薦的 Framework
● CakePHP
– 參考 Ruby on Rails
– 較其他 frameword 輕量化
● php.MVC
– 參考 Java 的 Struts
● 目前樂多日誌 (Blog.yam.com) 使用
● Seagull
– 使用 PEAR 程式庫
● PRADO
– Zend 獲獎作品 , 事件驅動模式
– Only PHP5
本文發(fā)布于成都網(wǎng)站建設公司創(chuàng)新互聯(lián)http://www.kartarina.com/

分享文章:為什么使用php,php網(wǎng)站制作經(jīng)驗
網(wǎng)站URL:http://www.kartarina.com/news19/232219.html

網(wǎng)站建設、網(wǎng)絡推廣公司-創(chuàng)新互聯(lián),是專注品牌與效果的網(wǎng)站制作,網(wǎng)絡營銷seo公司;服務項目有網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名
欧美日韩激情_美女国产一区_国产精品久久久久影院日本_69xxx在线
高清视频一区二区| 美女视频黄免费的久久| 欧美mv日韩mv国产网站app| 欧美综合一区二区三区| 91久久精品一区二区三区| 91老师片黄在线观看| 色老汉一区二区三区| 欧美性猛交xxxxxx富婆| 精品视频在线视频| 日韩视频一区二区在线观看| 91精品国产综合久久久久久久 | 成人一区在线看| 波多野洁衣一区| 91精品福利视频| 欧美日韩国产综合一区二区 | 亚洲美女少妇撒尿| 日韩高清在线一区| 久久99精品国产.久久久久 | 日本在线不卡视频| 国产一区二区三区av电影| 成人小视频免费在线观看| 91香蕉视频在线| 9191成人精品久久| 久久精品男人的天堂| 综合久久给合久久狠狠狠97色| 亚洲激情第一区| 国产精品一级片| 在线观看视频一区二区| 日韩欧美一级二级三级久久久| 国产三级精品三级在线专区| 亚洲黄网站在线观看| 久久av中文字幕片| 色8久久人人97超碰香蕉987| 日韩精品最新网址| 一区二区成人在线观看| 理论片日本一区| 色八戒一区二区三区| ww亚洲ww在线观看国产| 亚洲男帅同性gay1069| 国产一区二区免费视频| 欧美亚洲国产一区二区三区va| 精品蜜桃在线看| 亚洲成人午夜影院| 成人开心网精品视频| 欧美大片拔萝卜| 午夜日韩在线电影| 成人av影视在线观看| 日韩免费高清av| 亚洲成av人在线观看| 91免费看视频| 国产农村妇女精品| 韩国理伦片一区二区三区在线播放| 色婷婷亚洲综合| 国产精品伦理一区二区| 国产一区二区不卡| 欧美不卡一区二区三区| 日韩精品免费专区| 欧美日韩在线播| 亚洲综合一二区| 91丨国产丨九色丨pron| 国产精品久久久久久福利一牛影视| 国产一区不卡精品| 日韩美一区二区三区| 日本亚洲免费观看| 欧美亚洲一区三区| 一区二区激情视频| 91久久精品国产91性色tv| 18涩涩午夜精品.www| 成人免费毛片片v| 国产精品亲子伦对白| 成人avav影音| 18欧美乱大交hd1984| a美女胸又www黄视频久久| 国产日韩欧美麻豆| 福利一区二区在线观看| 国产精品系列在线| 99re热视频这里只精品| 亚洲欧洲综合另类| 欧美性欧美巨大黑白大战| 亚洲一区免费视频| 欧美一区二区三区日韩视频| 免费在线欧美视频| 亚洲欧美一区二区三区久本道91 | 欧美丰满少妇xxxbbb| 男女性色大片免费观看一区二区 | 欧美精选一区二区| 裸体一区二区三区| 国产日韩欧美不卡在线| 99国产精品99久久久久久| 一区二区三区成人在线视频| 欧美电影在哪看比较好| 激情综合网最新| 国产精品乱码久久久久久| 色哟哟在线观看一区二区三区| 亚洲v日本v欧美v久久精品| 欧美一区二区三区四区视频| 国产精品中文字幕欧美| 一区二区三区四区精品在线视频 | 99久久精品国产导航| 亚洲国产日韩一级| 亚洲精品在线电影| 91亚洲国产成人精品一区二三| 午夜精品成人在线| 国产三级精品在线| 欧美日韩成人综合天天影院| 国产一区在线不卡| 一区二区三区在线视频免费观看| 日韩一卡二卡三卡四卡| 91麻豆精东视频| 国产一区二区在线观看免费| 一区二区在线观看免费 | 欧美在线三级电影| 国产综合色在线| 一区二区视频在线| 久久精品视频在线看| 欧美性猛片xxxx免费看久爱| 国产一区二区三区在线观看精品| 亚洲一区二区视频| 中文在线资源观看网站视频免费不卡| 欧美性大战久久久久久久蜜臀| 国产一本一道久久香蕉| 午夜不卡av在线| 亚洲男人的天堂在线观看| 久久久综合网站| 欧美日韩成人在线| 色婷婷av一区二区三区大白胸 | 久久精品男人天堂av| 欧美日韩国产高清一区二区| 成人一二三区视频| 国内成人免费视频| 久久精品国产99久久6| 亚洲v中文字幕| 一区二区三区日本| 亚洲久草在线视频| 中文字幕一区二区三区精华液| 久久久久久久久一| 精品久久久久香蕉网| 日韩欧美在线网站| 欧美一区二区在线免费观看| 欧美日韩和欧美的一区二区| 色94色欧美sute亚洲13| 色8久久人人97超碰香蕉987| 99re热这里只有精品视频| 成人的网站免费观看| 国产99久久久久久免费看农村| 精品一区二区三区免费观看| 久久精品国产77777蜜臀| 日本最新不卡在线| 欧美aⅴ一区二区三区视频| 日韩电影一区二区三区四区| 日韩精品成人一区二区三区| 亚洲va欧美va人人爽| 日本三级亚洲精品| 欧美aa在线视频| 国产原创一区二区三区| 国产成人一区在线| gogogo免费视频观看亚洲一| av网站一区二区三区| 在线亚洲一区观看| 欧美色网站导航| 91精品国产欧美一区二区18| 日韩欧美视频在线| 国产欧美一区二区三区网站| 中文一区二区完整视频在线观看| 国产精品国产三级国产a| 亚洲乱码国产乱码精品精可以看 | 日韩欧美一区二区视频| 久久午夜免费电影| 国产精品成人免费| 一区二区三区精品在线| 青青草成人在线观看| 国产伦精品一区二区三区免费迷 | 亚洲成在人线免费| 日韩国产成人精品| 国产一区三区三区| 91偷拍与自偷拍精品| 7777精品伊人久久久大香线蕉完整版| 337p日本欧洲亚洲大胆精品| 中文字幕在线观看不卡| 视频一区欧美日韩| 国产v日产∨综合v精品视频| 欧美吞精做爰啪啪高潮| xnxx国产精品| 亚洲成人精品在线观看| 国产一区高清在线| 欧美日韩亚洲国产综合| 久久久久国产精品麻豆| 亚洲午夜精品网| 国产成人自拍高清视频在线免费播放| 91亚洲精品久久久蜜桃网站| 欧美电视剧免费观看| 亚洲人精品午夜| 国产精品亚洲专一区二区三区| 色偷偷久久人人79超碰人人澡| 精品国产网站在线观看| 午夜欧美电影在线观看| 色综合天天综合网天天狠天天| 国产精品久99| 秋霞电影网一区二区| 91视频免费看|