您可以通過向窗口添加"拆分器",在 Dreamweaver 中設計您自己的框架集。
用Dreamweaver為網頁設計框架集
您可以通過向窗口添加"拆分器",在 Dreamweaver 中設計您自己的框架集。
提示在創建框架集或使用框架前,通過選擇"查看">"可視化助理">"框架邊框",使框架邊框在"文檔"窗口的"設計"視圖中可見。
若要創建框架集,請執行以下操作:
- 選擇"修改">"框架集",然后從子菜單選擇拆分項(例如"拆分左框架"或"拆分右框架")。
Dreamweaver 將窗口拆分成幾個框架。如果打開一個現有的文檔,它將出現在其中一個框架中。
要將一個框架拆分成幾個更小的框架,請執行以下操作:
- 要拆分插入點所在的框架,從"修改">"框架集"子菜單選擇拆分項。
- 要以垂直或水平方式拆分一個框架或一組框架,請將框架邊框從"設計"視圖的邊緣拖入"設計"視圖的中間。
- 要使用不在"設計"視圖邊緣的框架邊框拆分一個框架,請在按住 Alt 鍵的同時拖動框架邊框 (Windows) 或在按住 Option 鍵的同時拖動框架邊框 (Macintosh)。
- 要將一個框架拆分成四個框架,請將框架邊框從"設計"視圖一角拖入框架的中間。
提示若要創建三個框架,請首先創建兩個框架,然后拆分其中一個框架。不編輯框架集代碼是很難合并兩個相鄰框架的,所以將四個框架轉換成三個框架要比將兩個框架轉換成三個框架更難。
若要刪除一個框架,請執行以下操作:
如果要刪除的框架中的文檔有未保存的內容,則 Dreamweaver 將提示您保存該文檔。
注意您不能通過拖動邊框完全刪除一個框架集。要刪除一個框架集,請關閉顯示它的"文檔"窗口。如果該框架集文件已保存,則刪除該文件。
若要調整框架的大小,請執行以下操作之一:
- 若要設置框架的粗略大小,請在"文檔"窗口的"設計"視圖中拖動框架邊框。
- 若要指定準確大小,并指定當瀏覽器窗口大小不允許框架以全大小顯示時,瀏覽器分配給框架的行或列的大小,可使用"屬性"檢查器。
posted @
2008-05-16 15:42 caihaibo 閱讀(237) |
評論 (0) |
編輯 收藏
Apache下的安裝:
我們這次采用的是Apache的一個全新版本Apache2,以前在Apache下安裝PHP記得還比較麻煩,現在在Apache2平臺下,我們可以方便的以模塊化的方式安裝PHP,前提是PHP版本必須是4.0以上的。
當然,現在還在用PHP3的已經很少了。所以這次我們只介紹如何以模塊化的方式在Apache下安裝PHP,如果你想了解在Apache下如何以Cgi的方式加載php,可以參考本站的另一篇文章"PHP+Apache在Win9x下的安裝和配置"(http://www.hooday.com/?n=ReadArticle&a=34)。好了,閑話少說,讓我們一起來領略模塊化安裝PHP的風采吧。
1.運行你下載的Apache2安裝文件,安裝Apache,安裝過程中會提示你輸入主機名,管理員信箱等信箱,這些信息在你安裝完以后是可以修改的,所以可以放心的輸入。在選擇安裝路徑時,筆者建議你把安裝路徑也選成C盤的根目錄。在一步步的"Next"后,你會發現Apache很容易就安裝好了。
現在再看你的任務欄的右側,應該有一個類似于這個小圖標的圖標,這就是Apache2的服務管理器,也是Apache1.X版本所沒有的。注意這個圖片的狀態,如果有一個綠色的小三角,說明你的服務器已經安裝成功,如果是紅色的,則說明你的Apache沒有安裝成功,你需要進一步去找一下失敗的根源。
一般最常見的錯誤就是端口有沖突,Apache默認的端口是80,如果你的80端口被另一個程序(如IIS)占用了的話,就會出現無法啟動的情況。出現這種情況,你可以按照下面的方法來修改:點擊"開始->程序->Apache HTTP Server 2.0.40->Configure Apache Server->Edit the Apache httpd.conf Configuration File"會打開一個Apache的配置文件,你可以用文本編輯器來打開它。
然后在這個文件的第120行左右,你會發現類似于"Listen 80"的字樣。現在只要把這個80改成你想要的端口即可,當然在你用瀏覽器瀏覽的時候也不要忘了加上端口哦。
到了這里,你的Apache應該已經亮起綠燈了吧,下面我們來測試一下它是否在工作。打開你的瀏覽器,在地址欄上輸入"http://localhost/"(如果你的端口不是80,需要在后面加上":端口號"),不知道你是否看到了Apache的歡迎頁,筆者在這一步并沒有看到,不知道什么緣故,Apache2版本好像沒有默認的引導頁面。如果你也沒有看到,可以試著在后面加上一個文件名"index.html.en",如果能出現下面類似的頁面,則說明Apache已經工作正常了。
2.好了,Apache已經安裝OK了,接下來就是看如何跟PHP結合起來了。
最開始的兩步和上邊介紹的IIS步驟是相同的,也是解壓后復制到C盤根目錄,然后改名,再把PHP.ini復制到系統文件夾,如果有必要的話,修改一下"extension_dir"和"doc_root"這兩項的值。上邊已經說得很清楚,不再多說。
接著便是最重要的一步了,也是模塊化安裝的核心步驟了,可要看仔細了。
打開Apache2的配置文件(http.conf),可以通過點擊"開始->程序->Apache HTTP Server 2.0.40->Configure Apache Server->Edit the Apache httpd.conf Configuration File"打開.
或者打開你的Apache安裝目錄下的Conf目錄,你會發現一個名為http.conf的文件,就是它了,你可以用任一個文本編輯器來打開它。在這個文件的第121行左右,你應該能找到"LoadModule"字樣,然后后面是一串路徑,這就是Apache默認要加載的模塊了,同樣,咱們也可以在其后加上一句,讓他來加載PHP模塊。
其實,就是這么簡單,你只要加上這么一句"LoadModule php4_module C:/php/sapi/php4apache2.dll",這里要解釋一下"php4_module"是模塊的名稱,后面跟的路徑則隨你的PHP安裝目錄而變,這三個字串之間是用空格符分隔的。
接下來,還有一步工作,也是很多安裝失敗的朋友所忽略的,剛開始筆者也是無論如何加入上邊的那一句后Apache就啟動不起來了。后來經過幾次試驗,才發現,你的PHP安裝目錄下的"php4ts.dll"必須要復制到windows系統的system32目錄下,否則,就不可能啟動起來。
現在再試一下,是不是一切都正常了。好了,再來回顧一下我們在Apache下安裝的過程。
(1)添加"LoadModule php4_module C:/php/sapi/php4apache2.dll".
(2)復制"php4ts.dll"到system32目錄.
是的,就是這么簡單,PHP已經運行在你的機器上了。你可以通過雙擊任務欄的Apache服務器圖標來看到這一點。
3.再來測試一下吧。
把下面的代碼保存成info.php文件放在你的Apache安裝目錄下的htdocs目錄下。
然后在瀏覽器中敲入http://localhost/info.php(如果你的端口不是80,請在localhost/后加上":端口號"),是不是看到了類似下面的屏幕所顯示的。如果是,恭喜,你已經成功的以模塊化方式安裝了PHP
以上在Apache部分所講述的東西對不太熟悉Apache配置的朋友可能有一點不太明白,不過只要你按我上面所說的一步步的來,應該都不會出現什么大的毛病。如果萬一不知道自己改的哪一個部分使Apache啟動不起來了,你可以切換到Apache安裝目錄下的Conf文件夾,將http.conf文件刪除掉,再將Apache的默認配置文件httpd.default.conf改名成http.conf即可。如果你想進一步的了解Apache的配置。
posted @
2008-05-16 11:52 caihaibo 閱讀(777) |
評論 (0) |
編輯 收藏
前期準備:
Windows XP SP2 (其實系統只要是 98 以上都可以遵循這樣的方法我認為)
Apache 2本例中我選用了 2.2.2 for Win32 ……)
http://archive.apache.org/dist/httpd/
PHP 5 (雖然版本數有點不吉利…… 但我還是毅然選擇了 5.1.4 for Win32 Zip 版……)
http://www.php.net/downloads.php
MySQL 5 (5.1 尚不穩定…… 我們姑且還是選擇 MySQL 5.0.22 for Win32 Zip 版……)
http://www.mysql.com/
本方案并不涉及系統文件夾…… 所以我們大可選擇其它分區的某個文件夾來方便日后的伺服器維護…… 本為以 X:\Server 為例…… 注意:文件夾名稱最好不要包含空格或其它非英文字符…… 否則某些情況下容易造成伺服器崩潰……
========================================
安裝 Apache:
運行 apache_2.2.2-win32-x86-no_ssl.msi …… 一路 Next 下來…… 到選擇安裝方式的時候,選擇 “Custom” 自定義方式…… 然后 Next 選擇安裝路徑…… 定位到 X:\Server\Apache (當然,你選擇其它路徑也可以,甚至選擇 Complete 安裝都沒問題…… 我只是習慣講所有服伺服器相關軟體集中到一起而已)
本來不準備寫 IIS 與 Apache 的共存配置…… 想一想還是帶一筆吧…… 提示填寫 Server Information 時…… 最下方會讓你選擇端口…… 如果你安裝了 IIS 伺服器…… 這里就選擇第二項 “only for the current user, on Port 8080, when started manually.”…… 也就是說 Apache 將占用 8080 端口…… 如果你沒安裝 IIS …… 無視之……
繼續 Next …… 彈出幾個 CMD 窗口安裝 Windows 服務以后…… 安裝就完成了…… 右下角將出現 Apache 粉紅色的羽毛 Icon,不出意外圖標上應該顯示綠燈(表示 HTTP 伺服已經正常啟動)…… 你可以訪問 http://www.quchao.com/ 來試試,如果屏幕出現 “It Works” 就表示安裝成功…… (我記得以前的版本不是這樣的,而是一個挺花哨的頁面…… 所以只要不出現找不到頁面的提示…… Apache 伺服就安裝成功了)當然了…… 如果亮起紅燈…… 配置肯定錯誤…… 回頭查查吧……
Apache 伺服器就安裝完畢了……
=======================================
安裝 PHP :
解壓 PHP-5.1.4-Win32.zip …… 并放置到 X:\Server\PHP 之下……
接下來為 PHP 的安裝目錄添加環境變量…… 在我的電腦圖標上點擊滑鼠右鍵…… 查看‘屬性’…… 然后切換到‘高級’選項卡…… 點擊‘環境變量’按鈕(快捷鍵:Alt+N)…… 在彈出的‘系統變量’域中找到‘Path’變量…… 雙擊編輯并在變量值的最后添加 ‘;X:\Server\PHP’ (注意有個分號,用來分隔之前的值)……
重啟電腦…… 為啥? 讓環境變量生效唄……
至此 PHP 就安裝完畢了…… 當然,現在還未與 Apache 關聯…… 而且未作任何設置…… 不要急…… 后面我會寫……
=======================================
配置 Apache:
尤為重要的一步:如果你跟我一樣選擇了當前最新的 PHP 穩定版本 5.1.4…… 官方下載來的源碼包中的模塊化支援 PHP5apache2.dll 是不適用于 Apache 2.2.2 的…… 據查需要重新編譯 PHP …… 不過PHP5 研究室提供了解決方法:
下載這個壓縮包(http://www.phpv.net/php5apache2.dll-php5.1.x.rar)…… 解壓后將 PHP5apache2.dll 扔進 X:\Server\PHP 覆蓋原文件…… 將 httpd.exe.manifest 扔進 X:\Server\Apache\Bin 文件夾…… 最后運行 vcredist_x86.exe (如果你安裝有 .Net FrameWork 就無需安裝此文件)……
當然,如果你選擇比較舊的版本則可略過此步。
下面開始修改 Apache 配置文件: X:/Server/Apache/conf/httpd.conf
修改文檔發布路徑……
搜索:
DocumentRoot “X:/Server/Apache/htdocs”
將值修改成你想要的發布路徑,比如:
DocumentRoot “X:/Server/WWW”
然后還有一處也需要修改…… 否則將無權訪問……
搜索:
Directory “X:/Server/Apache/htdocs”
修改為:
Directory “X:/Server/WWW”
修改默認腳本:
搜索:
DirectoryIndex index.html
添加你想要的默認腳本名稱,用空格分隔,注意前后有優先順序,比如:
DirectoryIndex index.PHP index.html index.htm
針對 PHP 5 的配置:
在文檔的最下方加入以下字符:
# 調用 PHP 5 模塊
LoadModule PHP5_module “X:/Server/PHP/PHP5apache2.dll”
# 添加 Mime 類型…… 亦可以修改 mime.types 文件
AddType application/x-httpd-PHP .PHP
AddType application/x-httpd-PHP-source .phps
# 添加默認字符集…… utf8才是王道……
AddDefaultCharset UTF8
# 設置 PHP.ini 目錄
PHPIniDir “X:/Server/PHP”
至此,Apache 已經可以支持 PHP 了…… 當然…… 本文僅介紹如何進行基本安裝…… 將不涉及詳細的配置以及優化…… 各位可以自行參閱手冊進行配置……
'www.knowsky.com
=======================================
安裝 MySQL:
解壓 MySQL-noinstall-5.0.22-win32.zip …… 并放置到 X:\Server\MySQL 之下……
接下來安裝 MySQL 服務…… 打開 cmd.exe …… 然后進入 X:\Server\MySQL\bin 目錄……(蝦米?你不會?那我還是寫清楚吧)
開始->運行->cmd->回車……
然后進入 X:\Server\MySQL\bin 目錄:
>cd /d X:\Server\MySQL\bin 回車
(如果你的文件夾帶有空格,別忘了在路徑外添加雙引號)
然后運行 MySQL 服務安裝腳本:
>mysqld-nt -install
顯示 MySQL service installed successfully,表示安裝成功……
接下來為 MySQL 的安裝目錄也添加一個環境變量…… 在我的電腦圖標上點擊滑鼠右鍵…… 查看‘屬性’…… 然后切換到‘高級’選項卡…… 點擊‘環境變量’按鈕(快捷鍵:Alt+N)…… 在彈出的‘系統變量’域中找到‘Path’變量…… 雙擊編輯并在變量值的最后添加 ‘;X:\Server\MySQL’ (注意有個分號,用來分隔之前的值)……
重啟電腦…… 為啥? 還是讓環境變量生效……
(我靠…… 安裝 PHP 的時候為什么不一起說…… 害我還得重啟一遍……)
這個嘛…… 我忘了……
然后配置 MySQL …… 來到 X:\Server\MySQL …… 里頭應該有若干個 ini 文件…… 我們根據自己的需要任取一個(大同小異…… 僅僅是默認配置不同…… 你也可以自行修改的)…… 由于我僅僅為了本地的開發調試,所以選擇了 my-small.ini …… 將其復制一份…… 命名為 my.ini…… 用文本編輯器打開它:
搜索:
[mysqld]
在下方加入以下字符行:
#MySQL 安裝目錄
basedir=X:/Server/MySQL
#MySQL 默認數據目錄
datadir=X:/Server/MySQL/data
# 默認字符集…… 設置為 UTF8 吧
default-character-set=utf8
# 默認儲存引擎…… 還是回到 MyISAM 時代吧…… InnoDB 被甲骨文買了…… 雖然開源…… 但……
default-storage-engine=MyISAM
再在文檔最下方加入:
[WinMySQLAdmin]
Server=X:/Server/MySQL/bin/mysqld-nt.exe
MySQL 配置完成…… 下面可以啟動試試…… 打開 cmd.exe…… 輸入:
net start MySQL
若顯示‘MySQL服務已經啟動成功’…… 則表示…… 則表示這句話說得沒錯…… 否則請回頭檢查……
服務器啟動了…… 我們就可以登錄試試了……
>cd /d X:\Server\MySQL\bin 回車
接著登陸
>MySQL -u root -p
由于 root 初始狀態無密碼,提示 Enter Password 時直接回車即可……
然后命令行進入 MySQL Shell 狀態即表示‘入侵’成功……
如果你不想別人也用空密碼入侵你,最好給 root 設置一個牛叉點兒的密碼……
MySQL>set password for ‘root’@’localhost’ = old_password(’Password_for_root‘);
(這是 MySQL 5 的新命令,之前的版本請將 old_password 改成 password)
將其中 Passwor_for_root 更換為你自個兒的密碼吧…… 別太簡單……
提示 ‘Query Ok’ 表明修改成功。
不信?你可以 exit; 出去再登錄試試……
至此…… MySQL 的安裝工作完畢…… 詳細的優化配置請參閱手冊…… 至于 MySQL 與 PHP 的關聯下面將提到……
=====================================
'www.knowsky.com
配置 PHP:
進入 X:\Server\PHP …… 將 PHP.ini-recommend 更名為 PHP.ini 并用文本編輯器打開……
修改錯誤報告級別…… 運行一些書寫不規范的程序…… 你會發現滿屏的‘錯誤’……
搜索:
error_reporting = E_ALL
修改為:
error_reporting = error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT
由于是本地調試,我當然希望錯誤被輸出供我調試……
搜索:
display_errors = Off
修改為:
display_errors = On
對于本地開發者,記錄錯誤似乎沒有必要……
搜索:
log_errors = On
修改為:
log_errors = Off
設置擴展庫的路徑是很必要的……
搜索:
extension_dir = “./”
修改為:
extension_dir = “X:/Server/PHP/ext”
PHP 5 默認是不開啟對 MySQL 的支持的……
搜索:
;extension=PHP_MySQL.dll
去掉前面的分號:
extension=PHP_MySQL.dll
另外,vBulletin 早已啟用了對 Mysqli 的支持…… 所以這里我們引入 MySQL 擴展庫……
搜索:
extension=PHP_MySQL.dll
在下方加入:
extension=PHP_mysqli.dll
當然,為了更好的使用 vBulletin 的一些圖象相關功能,我們需要啟用 GD2 庫……
搜索:
;extension=PHP_gd2.dll
去掉前面的分號:
extension=PHP_gd2.dll
我們還希望對一些較常用的庫進行調用,比如 PHP_mbstring.dll 、 PHP_curl.dll 、 PHP_sockets.dll 、 PHP_xmlrpc.dll 等等…… 開啟方法同上……
(這里僅啟用了常用擴展…… 其它的擴展請自行根據需要定奪……)
雖然 vBulletin 使用了其內建 Session 機制,但 PHP 的 Session 機制在很多程序中是必備的……
搜索:
;session.save_path = “/tmp”
修改為一個存在的路徑里……
或者到發布目錄下建立一個 tmp 目錄……
這里我們選用前一種方法…… 先建立這樣一個目錄 X:\Session ……
然后修改為:
session.save_path = “X:/Session”
到這里基本就設置完畢了…… PHP 也能正常支持 MySQL 了…… 更詳細的設置大家還是去翻手冊了……
====================================
結語:
最基本的 WAMP 環境就配置完畢了…… 接下來我還配置了 Zend Optimizer 和 Subversion……由于不是標配…… 這里就不做介紹了……
其實 Apache 服務器也可以不用安裝…… 可惜我未找到 2.2.2 的 ZIP 版本…… 而用 SRC 文件進行編譯又太繁瑣…… 所以干脆執行了安裝程序…… 等我下一次重裝系統時…… Apache 就變成綠色的了…… 讓我們一起期待…… (大概兩年后?)
呃……………… 想到甚么再補充進來吧……
posted @
2008-05-16 09:59 caihaibo 閱讀(217) |
評論 (0) |
編輯 收藏
假設:系統盤為 c:/
假設:把所有的東西安裝在D盤下的php目錄下
假設:安裝好后目錄狀態會是這樣子:
apache-------------------------> d:/php/apache
mysql---------------------------> d:/php/mysql
php-----------------------------> d:/php/php
網頁文件------------------------> d:/php/www
以上這些是我的喜好,你可以改成你喜歡的
第一步 安裝mysql4.1.10a( 本文章的配置適用于mysql4.1 和 mysql5.0版本 )
將下載的的mysql壓縮包,直接解壓到指定目錄(d:phpmysql)就可以了
然后雙擊 D:phpmysqlbinwinmysqladmin.exe 這個文件,請輸入winmysqladmin的初始用戶、密碼 (注:這不是mysql里的用戶、密碼)隨便填不必在意.確定之后你的右下角任務的啟動欄會出現一個紅綠燈的圖標
(綠燈),紅燈亮代表服務停止,綠燈亮代表服務正常
(如果不是綠燈,就左擊這個圖標->winnt->install the service 安裝此服務
再左擊這個圖標->winnt->start the service 啟動mysql服務)
修改mysql數據庫的root密碼
開始->運行,輸入cmd 然后cd 到d:mysqlbin 執行以下命令
D:mysqlbin>mysql
進入mysql后接著執行:
(將root密碼設置為easy)
下面一步是讓PHP可以連接到mysql4.1以上版本的,一定不可以省略。具體可參考http://www.phpv.net/article.php/288

密碼請根據你需要換成別的
如果你下載的是進制安裝包,解壓到任意目錄后就直接雙擊setup.exe 文件,按照你安裝軟件的習慣裝好它,記得到路徑選擇那一步時請寫d:phpmysql 裝好后打開d:phpmysqlbin文件夾,雙擊winmysqladmin.exe文件,會彈出一個窗口,要求設置你的mysql服務的管理員用戶名密碼.自己定吧
兩種方法區別一看就明了.
第二步: 安裝apache 并配置支持PHP
雙擊安裝文件apache_2.0.53-win32-x86-no_ssl.msi
將apache安裝在 D:phpapache 目錄下
還會有輸入框,提示輸入域名呀管理員信箱,隨便填就是了.
+-----------------------------------------------------
| 注: 安裝完后會自動安裝并啟動apache的服務,如在此處出現問題:
|“(OS 10048)通常每個套接字地址 (協議/網絡地址/端口) 只允許使用一次:
| make_sock: could not bind to address 0.0.0.0:80...” 一般是IIS占用了80端口引起的
| 解決方法: 打開 控制面板->服務 找到 IIS admin 的服務 關閉并禁用
| 然后用CMD進入命令行模式 進入你安裝apache的目錄 /apache2/bin
| 輸入
| apache -k install
| apache -k start
| 如果成功的話,再接著做下面的!
+--------------------------------------------------------------
將php-5.0.3-Win32.zip 里內容解壓到 D:phpphp 里
找到 php目錄里的 php.ini-dist (似乎這是一個習慣,其實我更喜歡用php.ini-recommended)重命名為 php.ini 并拷到 windows系統目錄下(特殊情況:win2k系統目錄為winnt)
如我的php.ini是拷到 c:windows目錄
再將php目錄里的 php5ts.dll,libmysql.dll 拷到 系統目錄系統目錄如我的是c:windows 里(也可以是c:windowssystem32)
最后到D:phpphpext下將php_gd2.dll php_mysql.dll這兩個文件復制到system/system32如我的是c:windowssystem里
配置apache里的httpd.conf
打開 D:phpApacheconfhttpd.conf 這個文件
找到 AddDefaultCharset ISO-8859-1 將其改為
AddDefaultCharset GB2312 (讓默認語言編碼為簡體中文)
找到 DocumentRoot "D:/php/Apache2/htdocs" 將其改為你的WEB目錄,如我的為
DocumentRoot "D:/php/www"
找到 DirectoryIndex index.html index.html.var 在后面加入 index.htm index.php (默認index.php為首頁文件)
--------------模塊化安裝PHP----------------------------------------
找到 #LoadModule ssl_module modules/mod_ssl.so 這行,在此行后加入一行
LoadModule php5_module d:/php/php/php5apache2.dll
其中d:/php/php/php5apache2.dll 為你php目錄中php5apache2.dll所在的位置
再找到 AddType application/x-gzip .gz .tgz 這行,在此行后加入一行
AddType application/x-httpd-php .php
(其實:上面兩行紅色的,你可以直接加在httpd.conf文件的最后面也可以的)
--------------------------------------------------------------------
此時PHP環境基本已經配置成功
在WEB根目錄(如我的D:phpwww)里建一個名為test.php (提示:用記事本的朋友,請避免文件為test.php.txt) ,的文件內容如下
PHP代碼:
<? echo phpinfo(); ?>
三、配置php.ini并測試mysql、GD2(php.ini為 c:windows下的 php.ini)
找到
;extension=php_mysql.dll
將';'去掉改為.
extension=php_mysql.dll
找到
;extension=php_gd2.dll 去掉前面的; 以便支持GD庫.如
extension=php_gd2.dll
找到
;session.save_path = "/tmp"
將';'去掉.設置你保存session的目錄,如
session.save_path = "C:WINDOWSTemp";
重啟apache服務
在Web根目錄下(如 D:phpwww)建立testdb.php文件內容如下:
PHP代碼:
<?php
$link=mysql_connect('localhost','root','123456'); //這里的root和123456是MYSQL的用戶和密碼,請根據你自己的情況改好
if(!$link) echo "fail";
else echo "success";
mysql_close();
?>
用瀏覽器打開
http://localhost/testdb.php 如果輸出success就OK了
四、phpmyadmin的安裝配置
將phpMyAdmin-2.6.1.zip解壓到WEB根目錄(d:phpwww中去),重命名文件夾為phpmyadmin或其它
打開phpmyadmin 目錄中的 config.inc.php
找到以下這些(以下我已改好):
$cfg['PmaAbsoluteUri'] = 'http://localhost/phpmyadmin'; //假設是有域名的服務器,可改成http://域名/phpmyadmin
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'easy; //分別填上你mysql的用戶和密碼即可
$cfg['Servers'][$i]['auth_type'] = 'http'; // 這里也可以改為cookie
改好了保存,在瀏覽器打開
http://localhost/phpmyadmin 輸入你的用戶名和密碼,便可以管理mysql了
差不多了,如果你想讓你的PHP代碼執行得更快,就再裝個Zend Optimizer.
方法是:下載后雙擊,選擇路徑安裝.問PHP.INI路徑就填 c:/windows
裝好重啟apache服務.再看
http://localhost/test.php 時應該看到會多一些東西
with Zend Extension Manager v1.0.3, Copyright (c) 2003-2004, by Zend Technologies
with Zend Optimizer v2.5.7, Copyright (c) 1998-2004, by Zend Technologies
posted @
2008-05-16 09:45 caihaibo 閱讀(183) |
評論 (0) |
編輯 收藏
假設:系統盤為 c:/
假設:把所有的東西安裝在D盤下的php目錄下
假設:安裝好后目錄狀態會是這樣子:
apache-------------------------> d:/php/apache
mysql---------------------------> d:/php/mysql
php-----------------------------> d:/php/php
網頁文件------------------------> d:/php/www
以上這些是我的喜好,你可以改成你喜歡的
第一步 安裝mysql4.1.10a( 本文章的配置適用于mysql4.1 和 mysql5.0版本 )
將下載的的mysql壓縮包,直接解壓到指定目錄(d:phpmysql)就可以了
然后雙擊 D:phpmysqlbinwinmysqladmin.exe 這個文件,請輸入winmysqladmin的初始用戶、密碼 (注:這不是mysql里的用戶、密碼)隨便填不必在意.確定之后你的右下角任務的啟動欄會出現一個紅綠燈的圖標
(綠燈),紅燈亮代表服務停止,綠燈亮代表服務正常
(如果不是綠燈,就左擊這個圖標->winnt->install the service 安裝此服務
再左擊這個圖標->winnt->start the service 啟動mysql服務)
修改mysql數據庫的root密碼
開始->運行,輸入cmd 然后cd 到d:mysqlbin 執行以下命令
D:mysqlbin>mysql
進入mysql后接著執行:
(將root密碼設置為easy)
下面一步是讓PHP可以連接到mysql4.1以上版本的,一定不可以省略。具體可參考http://www.phpv.net/article.php/288

密碼請根據你需要換成別的
如果你下載的是進制安裝包,解壓到任意目錄后就直接雙擊setup.exe 文件,按照你安裝軟件的習慣裝好它,記得到路徑選擇那一步時請寫d:phpmysql 裝好后打開d:phpmysqlbin文件夾,雙擊winmysqladmin.exe文件,會彈出一個窗口,要求設置你的mysql服務的管理員用戶名密碼.自己定吧
兩種方法區別一看就明了.
第二步: 安裝apache 并配置支持PHP
雙擊安裝文件apache_2.0.53-win32-x86-no_ssl.msi
將apache安裝在 D:phpapache 目錄下
還會有輸入框,提示輸入域名呀管理員信箱,隨便填就是了.
+-----------------------------------------------------
| 注: 安裝完后會自動安裝并啟動apache的服務,如在此處出現問題:
|“(OS 10048)通常每個套接字地址 (協議/網絡地址/端口) 只允許使用一次:
| make_sock: could not bind to address 0.0.0.0:80...” 一般是IIS占用了80端口引起的
| 解決方法: 打開 控制面板->服務 找到 IIS admin 的服務 關閉并禁用
| 然后用CMD進入命令行模式 進入你安裝apache的目錄 /apache2/bin
| 輸入
| apache -k install
| apache -k start
| 如果成功的話,再接著做下面的!
+--------------------------------------------------------------
將php-5.0.3-Win32.zip 里內容解壓到 D:phpphp 里
找到 php目錄里的 php.ini-dist (似乎這是一個習慣,其實我更喜歡用php.ini-recommended)重命名為 php.ini 并拷到 windows系統目錄下(特殊情況:win2k系統目錄為winnt)
如我的php.ini是拷到 c:windows目錄
再將php目錄里的 php5ts.dll,libmysql.dll 拷到 系統目錄系統目錄如我的是c:windows 里(也可以是c:windowssystem32)
最后到D:phpphpext下將php_gd2.dll php_mysql.dll這兩個文件復制到system/system32如我的是c:windowssystem里
配置apache里的httpd.conf
打開 D:phpApacheconfhttpd.conf 這個文件
找到 AddDefaultCharset ISO-8859-1 將其改為
AddDefaultCharset GB2312 (讓默認語言編碼為簡體中文)
找到 DocumentRoot "D:/php/Apache2/htdocs" 將其改為你的WEB目錄,如我的為
DocumentRoot "D:/php/www"
找到 DirectoryIndex index.html index.html.var 在后面加入 index.htm index.php (默認index.php為首頁文件)
--------------模塊化安裝PHP----------------------------------------
找到 #LoadModule ssl_module modules/mod_ssl.so 這行,在此行后加入一行
LoadModule php5_module d:/php/php/php5apache2.dll
其中d:/php/php/php5apache2.dll 為你php目錄中php5apache2.dll所在的位置
再找到 AddType application/x-gzip .gz .tgz 這行,在此行后加入一行
AddType application/x-httpd-php .php
(其實:上面兩行紅色的,你可以直接加在httpd.conf文件的最后面也可以的)
--------------------------------------------------------------------
此時PHP環境基本已經配置成功
在WEB根目錄(如我的D:phpwww)里建一個名為test.php (提示:用記事本的朋友,請避免文件為test.php.txt) ,的文件內容如下
PHP代碼:
<? echo phpinfo(); ?>
三、配置php.ini并測試mysql、GD2(php.ini為 c:windows下的 php.ini)
找到
;extension=php_mysql.dll
將';'去掉改為.
extension=php_mysql.dll
找到
;extension=php_gd2.dll 去掉前面的; 以便支持GD庫.如
extension=php_gd2.dll
找到
;session.save_path = "/tmp"
將';'去掉.設置你保存session的目錄,如
session.save_path = "C:WINDOWSTemp";
重啟apache服務
在Web根目錄下(如 D:phpwww)建立testdb.php文件內容如下:
PHP代碼:
<?php
$link=mysql_connect('localhost','root','123456'); //這里的root和123456是MYSQL的用戶和密碼,請根據你自己的情況改好
if(!$link) echo "fail";
else echo "success";
mysql_close();
?>
用瀏覽器打開
http://localhost/testdb.php 如果輸出success就OK了
四、phpmyadmin的安裝配置
將phpMyAdmin-2.6.1.zip解壓到WEB根目錄(d:phpwww中去),重命名文件夾為phpmyadmin或其它
打開phpmyadmin 目錄中的 config.inc.php
找到以下這些(以下我已改好):
$cfg['PmaAbsoluteUri'] = 'http://localhost/phpmyadmin'; //假設是有域名的服務器,可改成http://域名/phpmyadmin
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'easy; //分別填上你mysql的用戶和密碼即可
$cfg['Servers'][$i]['auth_type'] = 'http'; // 這里也可以改為cookie
改好了保存,在瀏覽器打開
http://localhost/phpmyadmin 輸入你的用戶名和密碼,便可以管理mysql了
差不多了,如果你想讓你的PHP代碼執行得更快,就再裝個Zend Optimizer.
方法是:下載后雙擊,選擇路徑安裝.問PHP.INI路徑就填 c:/windows
裝好重啟apache服務.再看
http://localhost/test.php 時應該看到會多一些東西
with Zend Extension Manager v1.0.3, Copyright (c) 2003-2004, by Zend Technologies
with Zend Optimizer v2.5.7, Copyright (c) 1998-2004, by Zend Technologies
posted @
2008-05-16 09:45 caihaibo 閱讀(128) |
評論 (0) |
編輯 收藏
/s$/ 匹配以字母"s"結尾的字符串
正則表達式語法通過反斜杠(\)開頭的轉義序列支持某些非字母的字符如"\n"為直接量換行符
常用的
\o NUL字符
\t 制表符
\n 換行符
\v 垂直制表符
\f 換頁符
\r 回車
\xnn 十六進制指定的拉丁字符
\uxxxx
\cX
/[abc]/ 和字母"a","b","c"中的任何一個字母都匹配.
/[^abc]/和除字母"a","b","c"之外的所有字符匹配.
/[a-z]/ 匹配英文小寫字母
/[a-zA-Z0-9]/ 匹配拉丁字母集中任何字母數字以及字符.
\w 任何ascii單字字符,等價于[a-zA-Z0-9_]
\W 任何ascii非單字字符,等價于[^a-zA-Z0-9_]
\s 匹配的是空格符(非Unicode空白符)
\S 任何非Unicode空白符,注意\w和\S不同
\d 任何ascii數字,等價于[0-9]
\D 除了ascii數字之外的任何字符,等價于[^0-9]
/[\b]/ 退格符
方框號內也可以用這些字符轉義如
/[\s\d] 等同于任意的空白符或數字
/a-/ 匹配一個或多個字符 與aaa都配
/a+?/ 匹配一個或多個必要的字母a.該模式只匹配第一個字母a
/ab| cd| ef/ 匹配的是字符串"ab",或者是字符串"cd",又或者是字符串
"ef"
/\d{3}|[a-z]{4}/ 匹配的是三位數字或四個小寫字母
注意,選項是從左到右考慮,直到發現了匹配項,如果左邊的選擇項匹配
,就忽略了右邊的匹配項.即使它產生更好的匹配.所以 /a|ab/ 就用到
"ab"上時,它只匹配第一個字符
/java(script)?/ 匹配的是字符串"java",后面既可以有"script",也可以沒有
/(ab|cd)+|ef)/ 既可以是字符串"ef",也可以是字符串"ab"或者"cd"的
一次或多次重復
| 選擇.匹配的是該符號左邊的子表達式或右邊的子表達式
(...) 組合.將幾個項目組合為一個單元.
例:匹配"JavaScript"可以使用/^JavaScript$/
如想檢索"Java" 可以使用 /\sJava\s/ 要求在單字Java之前和之后都有空格
但這樣有兩個問題:1.如果Java位于開頭或結尾時,不匹配
2.當找到與之匹配的字符串時,它返回的匹配字符串的前端和后端都有空格
因則我們可以:/\bJava\b/
元字符
+ 元字符規定其前導字符必須在目標.對象中連續出現一次或多次
* 元字符規定其前導字符必須在目標對象中出現零次或連續多次
? 規定其前導對象必須在目標對象中連續出現零次或一次
/fo+/
因為上述正則表達式中包含“+”元字符,表示可以與目標對象中的 “fool”, “fo”, 或者
“football”等在字母f 后面連續出現一個或多個字母o 的字符串相匹配。
/eg*/
因為上述正則表達式中包含“*”元字符,表示可以與目標對象中的 “easy”, “ego”, 或者 “egg”
等在字母e 后面連續出現零個或多個字母g 的字符串相匹配
/Wil?/
因為上述正則表達式中包含“?”元字符,表示可以與目標對象中的 “Win”, 或者 “Wilson”,等在字
母i 后面連續出現零個或一個字母l 的字符串相匹配。
/jim{2,6}/
上述正則表達式規定字符m 可以在匹配對象中連續出現2-6 次,因此,上述正則表達式可以同jimmy 或
jimmmmmy 等字符串相匹配。
“^”定位符規定匹配模式必須出現在目標字符串的開頭
“$”定位符規定匹配模式必須出現在目標對象的結尾
,\b 定位符規定匹配模式必須出現在目標字符串的開頭或結尾的兩個邊界之一
“\B”定位符則規定匹配對象必須位于目標字符串的開頭和結尾兩個邊界之內,即匹配對象既不能作為目標字符串的開頭,也不能作為目標字符串的結尾
/^hell/
因為上述正則表達式中包含“^”定位符,所以可以與目標對象中以 “hell”, “hello”或
“hellhound”開頭的字符串相匹配
/ar$/
因為上述正則表達式中包含“$”定位符,所以可以與目標對象中以 “car”, “bar”或 “ar” 結尾的
字符串相匹配。
/\bbom/
因為上述正則表達式模式以“\b”定位符開頭,所以可以與目標對象中以 “bomb”, 或 “bom”開頭的
字符串相匹配。
/man\b/
因為上述正則表達式模式以“\b”定位符結尾,所以可以與目標對象中以 “human”, “woman”或
“man”結尾的字符串相匹配。
我們可以使用正則表達式的test 或者search 方法來發現字符中是否符合某個模式。比如:
var ResultFlag = forms[0].UserName.value.search(/[a-z]|[A-Z]/);
if (ResultFlag==-1){alert(表單中的UserName 沒有包含任何字符!)};
工作中的新用法::
如:密碼中不要包含三位重復的字符
if(document.forms[0].cipher1.value.search(/(\S)\1{2}/) != -1)
{
alert("密碼中請不要包含三位重復的字符");
bool=false;
return bool;
}
后面跟的\1是向后引用,就是引用前面括號內的內容
這個非常實用哦
posted @
2008-05-15 15:38 caihaibo 閱讀(471) |
評論 (0) |
編輯 收藏
extjs中文解決方案/Eclipse下的js和ext開發
中文化問題,在 ext-all.js 后面,掛上 ext-lang-zh_CN.js :
1. <script type="text/javascript" src="<%=contextPath%>/public/js/ext-base.js"></script>
2. <script type="text/javascript" src="<%=contextPath%>/public/js/ext-all.js"></script>
3. <script type="text/javascript" src="<%=contextPath%>/public/js/ext-lang-zh_CN.js"></script>
注:ext-lang-zh_CN.js文件存放在 ext-2.0-rc1\source\locale 目錄下
對中文字體,要對默認的 css 加上修正,例如:
<LINK rel="stylesheet" href="public/css/ext-all.css">
<LINK rel="stylesheet" href="public/css/ext-all-patch.css">
來自:javaEye論壇 http://www.javaeye.com/topic/134418
==================
步驟一:建立eclipse環境(基于項目組目前的環境設置)
步驟二:下載并安裝jsEclipse http://www.adobe.com/cfusion/entitlement/index.cfm?e=labs_jseclipse
步驟三:配置文件關聯方式: window-preference-general-editors:file association,找到*.js,將jseclipse設為default。
步驟四:打開任意一個js文件(為了出現JSEclipse導航菜單),在JSEclipse菜單下,選擇Add Library,導航到ext-all-debug.js(直接輸入文件名,默認只能導入XML文件),引入該庫,然后在菜單下:refresh code completion library即可,這將會在D:\workspace\.metadata\.plugins\ com.interaktonline.jseclipse\library\YourProject下生成插件xml文檔。
如此設置后,在js文件中將會得到智能感知和自動完成的功能了,包括js固有的對象,還有第四步引入的ext庫。
來自:JavaEye論壇 http://www.javaeye.com/topic/133392
JSEclipse的安裝及中文亂碼問題和解決辦法:
看到一篇寫的很詳細的JSEclipse的安裝與配置教程,還有關于中文亂碼問題。
被 Adobe 收購的 Eclipse 下的 JavaScript 編輯工具 最先進的JavaScript編輯器之一。JSEclipse是針對Eclipse開發平臺的免費插件。它支持的功能有:代碼完成、大綱瀏覽、錯誤報告、代碼換行,等等。
先到這里:http://labs.adobe.com/technologies/jseclipse/下載最新版本的JSEclipse
一、jseclipse的安裝
1.打開Eclipse工作區(Workbench)
2.利用更新管理器安裝JSEclipse,在主目錄中找到:Help > Software Updates ->Find and Install
3.在彈出的界面中先擇Search for new features to install.
4.在下一步中選擇搜索地址,如果這是第一次從Adobe System安裝揷件,則需要新建遠程站點(New remote Site),如果不是,則請直接跳至第七步.
5.要定義新的搜索地址,單擊New remote Site按鈕.
6.彈出如下對話框,其中的兩處內容都必須填寫:
Name:用于顯示的標簽,填入"JSEclipse from Adobe Labs"或者其他相似的名稱.
URL:包含插件地址,這里填入"http://www.interaktonline.com/".
填寫完畢后單擊確定應用更改,新的選項將出現在Sites to include in search一欄中.
7.選中新填加的項目:JSEclipse from Adobe Labs.
8.單擊Finish開始搜索新軟件,Eclipse會出現如下窗口顯示搜索過程.
9.搜索完成后,過程站點上的可用插件將以列表的形式給出.
10.選中要安裝的插件,單擊下一步.
11.在這一步會出現要安裝插件的license agreement,肯定是必須接受的.選中I accept the terms in the license agreement按鈕,單擊下一步.
12.下面選擇安裝路徑,一般默認的路徑是很合理的,我們直接單擊完成開始安裝.
13.如果你的系統要求在安裝插件時必須檢查數字簽名(digital signature),這時還會出現一個警告界面,提示你要安裝的插件是沒有經過數字簽名的,這里直接單擊Install或Install All開始安裝.
14.安裝完成后系統彈出界面詢問是不是要重啟Eclipse,雖然不重啟新安裝的許多功能也能生效,但這里還是建議你重啟IDE.選擇Yes.
15.最后一句也是很重要的話:JSEclipse has been installed.
二、jseclipse的中文問題
解決方案:
打開eclipse的windows-->preference-->genral-->content type,選擇text-->javascript ,將對應的ISO8859-1 改為GBK,按update。
三、注意事項
JSEclipse需要Java 1.5或更高版本。
怎么樣,o(∩_∩)o...哈哈
[JSEclipse的安裝及中文亂碼問題和解決辦法本文版權歸 呆森博客www.Dai3.cn 所有]
|
|
|
posted @
2008-05-15 12:22 caihaibo 閱讀(1707) |
評論 (0) |
編輯 收藏
摘要: 無論你是Ext庫的新手,抑或是想了解Ext的人,本篇文章的內容都適合你。本文將簡單地介紹Ext的幾個基本概念,和如何快速地做出一個動態的頁面并運行起來,假設讀者已具備了一些JavaScript經驗和初級了解HTML Dom。
目錄
• 1 下載Ext
• 2 開始!
• 3 Element:Ext的核心
• 4 獲取多個DOM的節...
閱讀全文
posted @
2008-05-14 14:43 caihaibo 閱讀(1635) |
評論 (0) |
編輯 收藏
Ext.MasterTemplate是一個功能蠻不錯的類,早在今年年頭左右的時間就推出了,但使用的人不是很多。
Ext.MasterTemplate的用處在于,能夠創建單個模板,在這個模板下帶有多個子模板。
這些子模板可將一組對象陣列(arrays of objects )輕松地“填入”到子模板中,自然地也支持循環。定義子模板的地方
你須創建一個'tpl'的標簽在模板裝飾中(makeup)。
這個例子:
- var iconArray = [{img: 'images/icons/cog_orange.png', desc: 'Active Order'},
- {img: 'images/icons/stop.png', desc: 'Cancelled Order'},
- {img: 'images/icons/tick.png', desc: 'Completed Order'}];
- var iconTpl = new <SPAN class=hilite1><SPAN class=hilite1>Ext</SPAN></SPAN>.MasterTemplate('<fieldset><legend>{title}</legend><tpl><img src="{img}"
-
- width="16" height="16" /> {desc}<br/></tpl></fieldset>');
- iconTpl.compile();
- iconTpl.fill(iconArray);
- iconTpl.append(document.body, {title: 'SAMPLE'});
var iconArray = [{img: 'images/icons/cog_orange.png', desc: 'Active Order'},
{img: 'images/icons/stop.png', desc: 'Cancelled Order'},
{img: 'images/icons/tick.png', desc: 'Completed Order'}];
var iconTpl = new Ext.MasterTemplate('<fieldset><legend>{title}</legend><tpl><img src="{img}"
width="16" height="16" /> {desc}<br/></tpl></fieldset>');
iconTpl.compile();
iconTpl.fill(iconArray);
iconTpl.append(document.body, {title: 'SAMPLE'});
現在我們就可以輕松地用幾行代碼創建icon標簽的容器了。fill()的第二個參數(布爾值)指的是是否允許對子模板復位,
像這樣:
- iconTpl.fill(iconArray, true);
iconTpl.fill(iconArray, true);
如果你不復位子模板,它會一直 增加、追加新數組的值。注意該類所也支持模板變量,當然只適用于MasterTemplate。
本例中,title變量屬于這種變量,不包含在tpl標簽中。
MasterTemplates亦支持創建表格,配合tpl標簽不斷循環tr.
這是一個用戶登陸表的實例:
- var userArray = [{username: 'aconran', userid: 1, password: '@#jkas(*}'},
- {username: 'jarred.nicholls', userid: 2, password: 'pIZh4cKm3'},
- {username: 'djliquidice', userid: 3, password: 'sajkfjhasir'}];
- var userTpl = new <SPAN class=hilite1><SPAN class=hilite1>Ext</SPAN></SPAN>.MasterTemplate('<table>',
- '<tr bgcolor="#c0c0c0">',
- '<td>UserID</td>',
- '<td>UserName</td>',
- '<td>Password</td>',
- '</tr>',
- '<tpl>',
- '<tr>',
- '<td>{userid}</td>',
- '<td>{username}</td>',
- '<td>{password}</td>',
- '</tr>',
- '</tpl>',
- '</table>');
- userTpl.compile();
- userTpl.fill(userArray);
- userTpl.add({username: 'jack.slocum', userid: 4, password: '#Cru$hin'});
- userTpl.append(document.body);
var userArray = [{username: 'aconran', userid: 1, password: '@#jkas(*}'},
{username: 'jarred.nicholls', userid: 2, password: 'pIZh4cKm3'},
{username: 'djliquidice', userid: 3, password: 'sajkfjhasir'}];
var userTpl = new Ext.MasterTemplate('<table>',
'<tr bgcolor="#c0c0c0">',
'<td>UserID</td>',
'<td>UserName</td>',
'<td>Password</td>',
'</tr>',
'<tpl>',
'<tr>',
'<td>{userid}</td>',
'<td>{username}</td>',
'<td>{password}</td>',
'</tr>',
'</tpl>',
'</table>');
userTpl.compile();
userTpl.fill(userArray);
userTpl.add({username: 'jack.slocum', userid: 4, password: '#Cru$hin'});
userTpl.append(document.body);
子模板可分配名字(name屬性),以便在同一個MasterTemplates中處理多個子模板。可在add()/fill()中指定哪個子模
板要去填充。下列代碼是從Jack那里來的:(http://extjs.com/forum/showthread.php?t=1618)
- var t = new <SPAN class=hilite1><SPAN class=hilite1>Ext</SPAN></SPAN>.MasterTemplate(
- '<div id="{id}">',
- '<div class="right"><tpl name="right"><span>{stuff}</span></tpl></div>',
- '<div class="left"><tpl name="left"><span>{otherStuff}</span></tpl></div>',
- '</div>'
- );
- t.add('right', {stuff: 'foo'});
- t.add('left', {otherStuff: 'bar'});
- t.fill('right', arrayOfStuff);
var t = new Ext.MasterTemplate(
'<div id="{id}">',
'<div class="right"><tpl name="right"><span>{stuff}</span></tpl></div>',
'<div class="left"><tpl name="left"><span>{otherStuff}</span></tpl></div>',
'</div>'
);
t.add('right', {stuff: 'foo'});
t.add('left', {otherStuff: 'bar'});
t.fill('right', arrayOfStuff);
Ext.MasterTemplate 構建器可從三個方面創建:
插入多個參數的裝飾(makeup);
傳入構建器的字符串數組;
單行字符串;
所有格式化功能同樣可以應用在MasterTemplates中。您可參閱之前的教程"教程:學習利用模板(Templates)的格式化功能"
http://www.ajaxjs.com/yuicn/article.asp?id=20072919
***********下面的部分專業性過于強,,應用層面可能不多。小弟我就不譯了**************
The last thing I'd like to touch on is how to utilize the Member formatting functions within Templates. By adding methods to the instance of your class or by subclassing as we will do here you can create your own custom formatting functions. We will add a column called Revoked to our user table and will be returning a 0 or 1 to represent whether or not this user has been revoked. To make this more user friendly we will create a formatting function called yesNoFormat similar to ColdFusions function which converts 'truthy' values to the word "Yes" and 'falsey' values to the word "No". We simply prepend "this." in front of our new formatting function and use the same syntax that is used for native Ext formatting functions.
- var UserTemplate = function() {
- var userTableHTML = ['<table>',
- '<tr bgcolor="#c0c0c0">',
- '<td>UserID</td>',
- '<td>UserName</td>',
- '<td>Password</td>',
- '<td>Revoked</td>',
- '</tr>',
- '<tpl>',
- '<tr>',
- '<td>{userid}</td>',
- '<td>{username}</td>',
- '<td>{password}</td>',
- '<td>{isrevoked:this.yesNoFormat}</td>',
- '</tr>',
- '</tpl>',
- '</table>'];
- UserTemplate.superclass.constructor.call(this, userTableHTML);
- this.compile();
- };
- <SPAN class=hilite1><SPAN class=hilite1>Ext</SPAN></SPAN>.<SPAN class=hilite1><SPAN class=hilite1>ext</SPAN></SPAN>end(UserTemplate, <SPAN class=hilite1><SPAN class=hilite1>Ext</SPAN></SPAN>.MasterTemplate, {
- yesNoFormat: function(value) {
- return value ? 'Yes' : 'No';
- }
- });
-
- <SPAN class=hilite1><SPAN class=hilite1>Ext</SPAN></SPAN>.onReady(function() {
- var userArray = [{username: 'aconran', userid: 1, password: '@#jkas(*}', isrevoked: 1},
- {username: 'jarred.nicholls', userid: 2, password: 'pIZh4cKm3', isrevoked: 0},
- {username: 'djliquidice', userid: 3, password: 'sajkfjhasir', isrevoked: 0}];
- var userTpl = new UserTemplate();
- userTpl.fill(userArray);
- userTpl.add({username: 'jack.slocum', userid: 4, password: '#Cru$hin', isrevoked: 0});
- userTpl.append(document.body);
- });
var UserTemplate = function() {
var userTableHTML = ['<table>',
'<tr bgcolor="#c0c0c0">',
'<td>UserID</td>',
'<td>UserName</td>',
'<td>Password</td>',
'<td>Revoked</td>',
'</tr>',
'<tpl>',
'<tr>',
'<td>{userid}</td>',
'<td>{username}</td>',
'<td>{password}</td>',
'<td>{isrevoked:this.yesNoFormat}</td>',
'</tr>',
'</tpl>',
'</table>'];
UserTemplate.superclass.constructor.call(this, userTableHTML);
this.compile();
};
Ext.extend(UserTemplate, Ext.MasterTemplate, {
yesNoFormat: function(value) {
return value ? 'Yes' : 'No';
}
});
Ext.onReady(function() {
var userArray = [{username: 'aconran', userid: 1, password: '@#jkas(*}', isrevoked: 1},
{username: 'jarred.nicholls', userid: 2, password: 'pIZh4cKm3', isrevoked: 0},
{username: 'djliquidice', userid: 3, password: 'sajkfjhasir', isrevoked: 0}];
var userTpl = new UserTemplate();
userTpl.fill(userArray);
userTpl.add({username: 'jack.slocum', userid: 4, password: '#Cru$hin', isrevoked: 0});
userTpl.append(document.body);
});
Note that this example uses the array format of calling the constructor and that we have seen all 3 ways to instantiate a Template. (single liner, multiple args and an array of strings).
posted @
2008-05-14 14:41 caihaibo 閱讀(221) |
評論 (0) |
編輯 收藏
入門導向
Ext的新手用戶可以通過下列不同的途徑獲取學習資源:API文檔、維基百科全書、日益豐富的教程、論壇、IRC頻道等等(參閱Learn ),關于這些各個方面在EXT官網上都有。但最重要的可用資源,可以說是Ext源代碼本身。可以這樣方便地學習源代碼(Ext的項目畢竟是開源的),不僅能助你體驗Ext,而且還能讓你接觸到大量的Javascript高級技巧和最佳實踐,進一步提升自身的編碼水平。
揭示源代碼
Javascript是一門解釋型的語言,意味著在運行之前代碼是沒有經過編譯的。按照這種理論,在你網站上所發播的Ext代碼是我們看的懂的(human-readible)。我這里說“理論上”,是因為實際情況中,很多源代碼是經過某些自動化步驟的處理,生成很小幾行的文件最終發布的,通過剔除空白符號和注釋,或混淆等的方法,以減小文件大小。
仔細看看EXT標準源碼ext-core.js,你會發現這是一段超長的源碼。這是剛才提及的自動化步驟生成的結果--對瀏覽器來說不錯!可是對于我們是難以閱讀的。
ext-core.js
/*
* Ext JS Library 1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
* licensing@extjs.com
*
* http://www.extjs.com/license
*/
Ext.DomHelper=function(){var _1=null;var _2=/^(?:br|frame...
Ext.Template=function(_1){if(_1 instanceof Array){_1...
...
接著看下去的是ext-core-debug.js (注意在文件名后面加上-debug的JS文件), 我會發現是全部已格式化好的源代碼。這個文件是配合調時器所使用的,像Firebug的工具能夠可以讓你一步一步地、一行一行地調試代碼。你也會發現文件的體積將近大了一倍之多,這便是沒有壓縮或混淆的緣故。
ext-core-debug.js
/*
* Ext JS Library 1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
* licensing@extjs.com
*
* http://www.extjs.com/license
*/
Ext.DomHelper = function(){
var tempTableEl = null;
var emptyTags = /^(?:br|frame|hr|img|input|link|meta|range|spacer|wbr|area|param|col)$/i;
var tableRe = /^table|tbody|tr|td$/i;
...
該調試版本可以在調試階段方便地檢查EXT庫運行到哪一步,但是你還是會錯過一個有價值的...代碼注釋!要完整地看到代碼,就要閱讀真正的原始代碼!
發布Ext源碼時的一些細節
你在download得到的壓縮文檔,包含在這些文件夾之中的,有一source的子目錄。在這個文件夾里面,正如所料,是全部的EXT的源文件,遵從Lesser GNU (LGPL) 開源的協議。對于EXT開發者來說應該非常適合。
用你日常使用文本編輯器打開源代碼的任意一個文件(推薦有高亮顯示的編輯器,或是在這里full-featured IDE看看),便可以開始我們的探險!
我應該從哪里開始?
Ext代碼庫里面包含了許多各種各樣的文件,甚至令人覺得有點望而生畏。好在,Ext是一個通過充分考慮后而設計的JavaScript庫,--在底層的代碼為各項應用提供穩健的基礎如跨瀏覽器的各種DOM操控,使得在上層的類classes運行于一個較高級的抽象層面(class 一術語與我們已習慣的Java和C++語言稍微有所不同,但一些概念如繼承則可是如此類推去理解的--有關面向對象的JavaScript的更多資料,請參見Introduction to object-oriented (OO) JavaScript)。
這意味著,當瀏覽源碼的時候,采取“自頂向下(bottom-up)”還是“自下向頂(top-down)”的方式,都是無關緊要的。你所熟悉API里面的代碼已經是屬于最高的抽象層面的范疇,你可以根據你的興趣,順著這些你熟悉的API逐步深入。但是你若贊同我的看法,并打算深入了解其個中原理,最理想的地方是從底層代碼開始。
適配器Adapters
瀏覽器讀取第一個源文件,當中的一個任務就是創建Ext對象本身。 Ext.js
Ext = {};
Ext成型于YahooUI的Javascript庫的擴展。在當時,Ext須依賴YUI的底層代碼來處理跨瀏覽器的問題。現在ExtJS已經是獨立、免依賴的庫了(standalone ),你可將YUI替換為另外你所選擇javascript庫,如prototype、jQuery、或者是這些之中的最佳選擇,-Ext自帶的底層庫。 負責將這些庫(包括Ext自帶的底層庫)映射為Ext底層庫的這部分代碼,我們稱之為適配器(Adapters)。這部分源碼位于source/adapter的子目錄。當項目引入Ext的時候便需要選擇好你準備使用的適配器。
核心Core
source/core中的文件是構建于適配器API之上的“相對”最底層的源碼。有些的源碼甚至“底層”到直接為獨立庫的代碼直接使用。這意味著應先了解和學習這整個庫,再學習剩余的部分也不遲。要了解Ext的各種“Magic”和核心層面,就應該把重點放在source/core目錄下的各個源代碼。
posted @
2008-05-14 14:16 caihaibo 閱讀(206) |
評論 (0) |
編輯 收藏