60
Day 1 : PHP Basic (2008/11/20)

Day 1 : PHP Basic (2008/11/20)

  • Upload
    afia

  • View
    45

  • Download
    8

Embed Size (px)

DESCRIPTION

Day 1 : PHP Basic (2008/11/20). 自我介紹. 本名 : 孫仲岳 (Saturn Sun) 生日 : 1980 年 11 月 4 日天蠍座 現任 : AX 工作室創辦人 http:// ax.com.tw PIXNET 程式設計師 http://pixnet.net 中文化軟體聯盟網管 http://cpatch.org 證照: Zend PHP5 Certified Engineer (ZCE). 如何取得上課投影片. 我的部落格 http://blog.saturn.tw. 認識 PHP !. - PowerPoint PPT Presentation

Citation preview

Page 1: Day 1 :  PHP Basic (2008/11/20)

Day 1 : PHP Basic

(2008/11/20)

Day 1 : PHP Basic

(2008/11/20)

Page 2: Day 1 :  PHP Basic (2008/11/20)

2

自我介紹自我介紹自我介紹自我介紹

本名 : 孫仲岳 (Saturn Sun)生日 : 1980 年 11 月 4 日天蠍座現任 :

AX 工作室創辦人 http://ax.com.twPIXNET 程式設計師 http://pixnet.net中文化軟體聯盟網管 http://cpatch.org

證照:Zend PHP5 Certified Engineer (ZCE)

本名 : 孫仲岳 (Saturn Sun)生日 : 1980 年 11 月 4 日天蠍座現任 :

AX 工作室創辦人 http://ax.com.twPIXNET 程式設計師 http://pixnet.net中文化軟體聯盟網管 http://cpatch.org

證照:Zend PHP5 Certified Engineer (ZCE)

Page 3: Day 1 :  PHP Basic (2008/11/20)

3

如何取得上課投影片如何取得上課投影片如何取得上課投影片如何取得上課投影片

我的部落格http://blog.saturn.tw

我的部落格http://blog.saturn.tw

Page 4: Day 1 :  PHP Basic (2008/11/20)

4

認識認識 PHP !PHP !認識認識 PHP !PHP !

PHP: Hypertext Preprocessor Personal Homepage Program (Tools)

Web 2.0 網站首選語言執行效能高、開發速度快、求才容易

PHP 特性伺服器端執行 (Server side)可內嵌於 HTML (HTML-embedded)手稿、腳本 (Script) 語言

PHP: Hypertext Preprocessor Personal Homepage Program (Tools)

Web 2.0 網站首選語言執行效能高、開發速度快、求才容易

PHP 特性伺服器端執行 (Server side)可內嵌於 HTML (HTML-embedded)手稿、腳本 (Script) 語言

Page 5: Day 1 :  PHP Basic (2008/11/20)

5

誰挺誰挺 PHP?PHP?誰挺誰挺 PHP?PHP?

國內各大專院校台、清、交、成…

研究機構中研院、國網中心…

營利事業Yahoo 奇摩 ! 、中華電信、 PCHome…

Web 2.0PIXNET 、無名小站、 FunP.com

國內各大專院校台、清、交、成…

研究機構中研院、國網中心…

營利事業Yahoo 奇摩 ! 、中華電信、 PCHome…

Web 2.0PIXNET 、無名小站、 FunP.com

Page 6: Day 1 :  PHP Basic (2008/11/20)

6

WHY PHP ?WHY PHP ?WHY PHP ?WHY PHP ?

最少的不行,最大的可行讓我們愛上 PHP!

真的嗎 ? 問 Google 大神就知道 !www.google.com.tw

最大的優勢Free! 免錢 !

最少的不行,最大的可行讓我們愛上 PHP!

真的嗎 ? 問 Google 大神就知道 !www.google.com.tw

最大的優勢Free! 免錢 !

Page 7: Day 1 :  PHP Basic (2008/11/20)

7

網站導覽網站導覽網站導覽網站導覽

中華電信http://www.cht.com.tw/index.php

PCHome Onlinehttp://www.pchome.com.tw/

國網中心http://www.nchc.org.tw/

中華電信http://www.cht.com.tw/index.php

PCHome Onlinehttp://www.pchome.com.tw/

國網中心http://www.nchc.org.tw/

Page 8: Day 1 :  PHP Basic (2008/11/20)

8

網站導覽網站導覽網站導覽網站導覽

巴哈姆特http://www.gamer.com.tw/

東華大學http://www.ndhu.edu.tw/

無名小站http://www.wretch.cc

巴哈姆特http://www.gamer.com.tw/

東華大學http://www.ndhu.edu.tw/

無名小站http://www.wretch.cc

Page 9: Day 1 :  PHP Basic (2008/11/20)

9

PHP vs ASP vs JSPPHP vs ASP vs JSPPHP vs ASP vs JSPPHP vs ASP vs JSP

ASP / ASP.net綁在微軟平台版權費效能居中未公開原始碼

ASP / ASP.net綁在微軟平台版權費效能居中未公開原始碼

Page 10: Day 1 :  PHP Basic (2008/11/20)

10

PHP vs ASP vs JSPPHP vs ASP vs JSPPHP vs ASP vs JSPPHP vs ASP vs JSP

JSP / Servlet硬體需求高JAVA 語言太過嚴謹繁瑣雖跨平台,但效能差 (JVM)

JSP / Servlet硬體需求高JAVA 語言太過嚴謹繁瑣雖跨平台,但效能差 (JVM)

Page 11: Day 1 :  PHP Basic (2008/11/20)

11

PHP vs ASP vs JSPPHP vs ASP vs JSPPHP vs ASP vs JSPPHP vs ASP vs JSP

PHP跨平台語言結構簡單 (C 語言 )

效能佳硬體需求低原始碼公開

PHP跨平台語言結構簡單 (C 語言 )

效能佳硬體需求低原始碼公開

Page 12: Day 1 :  PHP Basic (2008/11/20)

12

民意調查民意調查民意調查民意調查

HTML 基礎C 語言基礎網頁設計基礎SQL 基礎

HTML 基礎C 語言基礎網頁設計基礎SQL 基礎

Page 13: Day 1 :  PHP Basic (2008/11/20)

13

環境安裝環境安裝環境安裝環境安裝

上課前要準備好的環境 !

伺服器端 – AppServ 2.xhttp://www.appservnetwork.com

程式撰寫 – PSPad 4.xhttp://www.pspad.com

上課前要準備好的環境 !

伺服器端 – AppServ 2.xhttp://www.appservnetwork.com

程式撰寫 – PSPad 4.xhttp://www.pspad.com

Page 14: Day 1 :  PHP Basic (2008/11/20)

14

AppServ 2.xAppServ 2.xAppServ 2.xAppServ 2.x

建議路徑 D:\

設定相關資料啟動伺服器設定 php.ini ( 安全性考量 )

register_globals = Off

建議路徑 D:\

設定相關資料啟動伺服器設定 php.ini ( 安全性考量 )

register_globals = Off

Page 15: Day 1 :  PHP Basic (2008/11/20)

15

PSPad 4.xPSPad 4.xPSPad 4.xPSPad 4.x

直接下載 ( 內建中文版 )

執行安裝設定顯示字型設定行號語法突顯

直接下載 ( 內建中文版 )

執行安裝設定顯示字型設定行號語法突顯

Page 16: Day 1 :  PHP Basic (2008/11/20)

16

環境介紹環境介紹環境介紹環境介紹

觀看伺服器網頁目錄資料備份資料庫管理工具

觀看伺服器網頁目錄資料備份資料庫管理工具

Page 17: Day 1 :  PHP Basic (2008/11/20)

17

寫一個網頁寫一個網頁寫一個網頁寫一個網頁

視覺化編輯器FrontPage/Dreamweaver/Expression Web

Kompozer ( 免錢的 )

查看原始碼 (HTML)

解釋 (HTML)

視覺化編輯器FrontPage/Dreamweaver/Expression Web

Kompozer ( 免錢的 )

查看原始碼 (HTML)

解釋 (HTML)

Page 18: Day 1 :  PHP Basic (2008/11/20)

18

來寫來寫 PHPPHP 吧吧來寫來寫 PHPPHP 吧吧

<?

echo " 就是這麼簡單 ";

?>

<?

echo " 就是這麼簡單 ";

?>

Page 19: Day 1 :  PHP Basic (2008/11/20)

19

HTMLHTMLHTMLHTML

Page 20: Day 1 :  PHP Basic (2008/11/20)

20

PHPPHP 嵌入嵌入 HTMLHTMLPHPPHP 嵌入嵌入 HTMLHTML

Page 21: Day 1 :  PHP Basic (2008/11/20)

21

中場休息中場休息 - - 練習題練習題中場休息中場休息 - - 練習題練習題

樂透彩 ( 兩個頁面 )獎號輸入畫面

例 : 大樂透,可輸入六組數字顯示畫面

例 : 派彩結果您買的號碼開獎號碼是否中獎 !

樂透彩 ( 兩個頁面 )獎號輸入畫面

例 : 大樂透,可輸入六組數字顯示畫面

例 : 派彩結果您買的號碼開獎號碼是否中獎 !

Page 22: Day 1 :  PHP Basic (2008/11/20)

22

先行閱讀先行閱讀先行閱讀先行閱讀

PHP Bible http://ppt.cc/o(Wl

PHP 官方網站http://www.php.net

Google http://www.google.com.tw

PHP Bible http://ppt.cc/o(Wl

PHP 官方網站http://www.php.net

Google http://www.google.com.tw

Page 23: Day 1 :  PHP Basic (2008/11/20)

23

下午課程下午課程下午課程下午課程

第一篇、認識 PHP

第二篇、 PHP 入門第三篇、 PHP+MYSQL

第四篇、 PHP 牛刀小試第五篇、歡樂週末 ~ 放假囉 !

第一篇、認識 PHP

第二篇、 PHP 入門第三篇、 PHP+MYSQL

第四篇、 PHP 牛刀小試第五篇、歡樂週末 ~ 放假囉 !

Page 24: Day 1 :  PHP Basic (2008/11/20)

24

你的最愛你的最愛你的最愛你的最愛

PHP Bible http://ppt.cc/o(Wl

原本的網站倒閉了…好險有善心人士備份 ~

PHP Bible http://ppt.cc/o(Wl

原本的網站倒閉了…好險有善心人士備份 ~

Page 25: Day 1 :  PHP Basic (2008/11/20)

25

哈囉,世界哈囉,世界哈囉,世界哈囉,世界

<html><head><title>First program</title></head><body><? echo "hello, world\n"; ?></body></html>

<html><head><title>First program</title></head><body><? echo "hello, world\n"; ?></body></html>

Page 26: Day 1 :  PHP Basic (2008/11/20)

26

程式的執行程式的執行程式的執行程式的執行

程式的跑法由上到下,由右到左遇到特殊控制才能回頭就是迴圈的由來跑完結束錯誤中止 / 指令結束

程式的跑法由上到下,由右到左遇到特殊控制才能回頭就是迴圈的由來跑完結束錯誤中止 / 指令結束

Page 27: Day 1 :  PHP Basic (2008/11/20)

27

寫作時的考量寫作時的考量寫作時的考量寫作時的考量

不用的變數盡量不設置 (浪費 )

減少測試性寫法,降低廢碼 (男女 )

資料量的控管 (如 uid 、 counter)

考量程式彈性 ( 不寫死,套變數 )

縮排、括弧對稱Allman Style

不用的變數盡量不設置 (浪費 )

減少測試性寫法,降低廢碼 (男女 )

資料量的控管 (如 uid 、 counter)

考量程式彈性 ( 不寫死,套變數 )

縮排、括弧對稱Allman Style

Page 28: Day 1 :  PHP Basic (2008/11/20)

28

引用檔案引用檔案引用檔案引用檔案

require("檔案名稱 ");

include("檔案名稱 ");

還有別的

require("檔案名稱 ");

include("檔案名稱 ");

還有別的

Page 29: Day 1 :  PHP Basic (2008/11/20)

29

程式註解程式註解程式註解程式註解

// 單行註解,給兩撇/* */ 斜星 - 星斜

/*

這裡攏是註解…怎樣寫都行*/

// 單行註解,給兩撇/* */ 斜星 - 星斜

/*

這裡攏是註解…怎樣寫都行*/

Page 30: Day 1 :  PHP Basic (2008/11/20)

30

常數與變數 常數與變數 常數與變數 常數與變數

常數 ex. 圓周率 ..define("pi", "3.1415926");

變數 ex. x , y , z..$x = 1;

常數 ex. 圓周率 ..define("pi", "3.1415926");

變數 ex. x , y , z..$x = 1;

Page 31: Day 1 :  PHP Basic (2008/11/20)

31

內建常數內建常數內建常數內建常數

常見的內建常數True

False

參考資料 : (Magic Constants)PHP Bible http://ppt.cc/-efH

PHP 官網 http://ppt.cc/PiLH

常見的內建常數True

False

參考資料 : (Magic Constants)PHP Bible http://ppt.cc/-efH

PHP 官網 http://ppt.cc/PiLH

Page 32: Day 1 :  PHP Basic (2008/11/20)

32

變數型態變數型態變數型態變數型態

型態清單字串 (String)數值 (Integer)浮點數 (Floating Point)陣列 (Array)物件 (Object)資源 (Resource)六根清淨 (Null)

型態清單字串 (String)數值 (Integer)浮點數 (Floating Point)陣列 (Array)物件 (Object)資源 (Resource)六根清淨 (Null)

Page 33: Day 1 :  PHP Basic (2008/11/20)

33

變數的使用變數的使用變數的使用變數的使用

加上 $ 拿去用英文數字跟底線不可以數字開頭

免宣告型態變變變自動轉換

加上 $ 拿去用英文數字跟底線不可以數字開頭

免宣告型態變變變自動轉換

符號 意義

\" 雙引號

\\ 反斜線

\n 換行 LF

\r 送出 CR

\t 跳位 (TAB)

Page 34: Day 1 :  PHP Basic (2008/11/20)

34

內建變數內建變數內建變數內建變數

直接可以拿來用$_GET

$_POST

$_REQUEST

其他請參考 : (Superglobals)PHP 官網 http://ppt.cc/Bq,S

直接可以拿來用$_GET

$_POST

$_REQUEST

其他請參考 : (Superglobals)PHP 官網 http://ppt.cc/Bq,S

Page 35: Day 1 :  PHP Basic (2008/11/20)

35

運算符號運算符號運算符號運算符號

數字、文字、邏輯…先乘除、後加減…

程式重要的一環通常 Bug 就是從這裡產生的…

數字、文字、邏輯…先乘除、後加減…

程式重要的一環通常 Bug 就是從這裡產生的…

Page 36: Day 1 :  PHP Basic (2008/11/20)

36

算術運算算術運算算術運算算術運算

符號 意義

+ 加法運算

- 減法運算

* 乘法運算

/ 除法運算

% 取餘數

++ 累加

-- 遞減

Page 37: Day 1 :  PHP Basic (2008/11/20)

37

字串運算字串運算字串運算字串運算

被罵過 …其實,就是 .

沒錯,就是 .

" 我是 " . "土星 "

善用「 .=」 (幫幫忙,不是 =.=)

單引號、雙引號都是字串唷 ~

被罵過 …其實,就是 .

沒錯,就是 .

" 我是 " . "土星 "

善用「 .=」 (幫幫忙,不是 =.=)

單引號、雙引號都是字串唷 ~

Page 38: Day 1 :  PHP Basic (2008/11/20)

38

設定運算 設定運算 設定運算 設定運算

符號 意義

= 將右邊的值連到左邊 (一定要會 )

+= 將右邊的值加到左邊

-= 將右邊的值減到左邊

*= 將左邊的值乘以右邊

/= 將左邊的值除以右邊

%= 將左邊的值對右邊取餘數

.= 將右邊的字串加到左邊

Page 39: Day 1 :  PHP Basic (2008/11/20)

39

位元運算位元運算位元運算位元運算

符號 意義

& 且 (And)

| 或 (Or)

^ 互斥 (Xor)

<< 向左移位

>> 向右移位

~ 取 1 的補數

Page 40: Day 1 :  PHP Basic (2008/11/20)

40

邏輯運算邏輯運算邏輯運算邏輯運算

符號 意義< 小於> 大於<= 小於或等於>= 大於或等於== 等於!= 不等於&& and 而且 (And)|| or 或者 (Or)xor 互斥 (Xor)! 不 (Not)

Page 41: Day 1 :  PHP Basic (2008/11/20)

41

其它運算符號其它運算符號其它運算符號其它運算符號

符號 意義

$ 變數

& 變數的指標 ( 加在變數前 )

@ 不顯示錯誤訊息 ( 加在函數前 )

-> 物件的方法或者屬性

=> 陣列的元素值

? : 三元運算子

Page 42: Day 1 :  PHP Basic (2008/11/20)

42

流程控制 流程控制 流程控制 流程控制

php 沒有 goto

php 不使用 main()

php 沒有 goto

php 不使用 main()

Page 43: Day 1 :  PHP Basic (2008/11/20)

43

if..else if..else 迴圈迴圈if..else if..else 迴圈迴圈

Page 44: Day 1 :  PHP Basic (2008/11/20)

44

if..else if..else 迴圈迴圈if..else if..else 迴圈迴圈

單行 if

多行 else if

省略法 (初學者不建議 )

單行 if

多行 else if

省略法 (初學者不建議 )

Page 45: Day 1 :  PHP Basic (2008/11/20)

45

whilewhilewhilewhile

Page 46: Day 1 :  PHP Basic (2008/11/20)

46

whilewhilewhilewhile

break

continue

exit ( 不見得用於此,但是常用 )

break

continue

exit ( 不見得用於此,但是常用 )

Page 47: Day 1 :  PHP Basic (2008/11/20)

47

do..while do..while 迴圈 迴圈 do..while do..while 迴圈 迴圈

Page 48: Day 1 :  PHP Basic (2008/11/20)

48

for for 迴圈 迴圈 for for 迴圈 迴圈

Page 49: Day 1 :  PHP Basic (2008/11/20)

49

foreachforeachforeachforeach

foreach (array as $value)

statement;

foreach (array as $key => $value) statement;

foreach (array as $value)

statement;

foreach (array as $key => $value) statement;

Page 50: Day 1 :  PHP Basic (2008/11/20)

50

switch switch 迴圈迴圈switch switch 迴圈迴圈

注意條件出現的優先性switch (expr)

{

case expr1: statement1; break;

case expr2: statement2; break;

default: statementN; break;

}

注意條件出現的優先性switch (expr)

{

case expr1: statement1; break;

case expr2: statement2; break;

default: statementN; break;

}

Page 51: Day 1 :  PHP Basic (2008/11/20)

51

函式函式函式函式

function myfunc($a, $b)

{// 執行一些動作return $c;

}

function myfunc($a, $b)

{// 執行一些動作return $c;

}

Page 52: Day 1 :  PHP Basic (2008/11/20)

52

物件 物件 物件 物件

Class 物件類別<?

require("cart.inc");$cart = new Cart;

$cart->add_item("10", 1);?>

Class 物件類別<?

require("cart.inc");$cart = new Cart;

$cart->add_item("10", 1);?>

Page 53: Day 1 :  PHP Basic (2008/11/20)

53

PHP PHP 函式導覽函式導覽PHP PHP 函式導覽函式導覽

教你邊查邊寫 ^^

PHP 官網http://www.php.net

PHP Biblehttp://ppt.cc/o(Wl

教你邊查邊寫 ^^

PHP 官網http://www.php.net

PHP Biblehttp://ppt.cc/o(Wl

Page 54: Day 1 :  PHP Basic (2008/11/20)

54

網址傳值原理網址傳值原理網址傳值原理網址傳值原理

test.php?size=5&color=red? 掛入變數串size 、 color 變數5 、 red 變數的值&串起變數

test.php?size=5&color=red? 掛入變數串size 、 color 變數5 、 red 變數的值&串起變數

Page 55: Day 1 :  PHP Basic (2008/11/20)

55

網址傳值原理網址傳值原理網址傳值原理網址傳值原理

觀摩網址傳值先寫 HTML

改寫成 PHP

測試用 web server 唷 !

觀摩網址傳值先寫 HTML

改寫成 PHP

測試用 web server 唷 !

Page 56: Day 1 :  PHP Basic (2008/11/20)

56

小結小結小結小結

我給你樂高你給我房子我給你樂高你給我房子

Page 57: Day 1 :  PHP Basic (2008/11/20)

57

家庭作業家庭作業家庭作業家庭作業

N N 乘法表…

99 乘法表http://127.0.0.1/example.php?n=9

66 乘法表http://127.0.0.1/example.php?n=6

N N 乘法表…

99 乘法表http://127.0.0.1/example.php?n=9

66 乘法表http://127.0.0.1/example.php?n=6

Page 58: Day 1 :  PHP Basic (2008/11/20)

58

參考網站參考網站 (( 一一 ))參考網站參考網站 (( 一一 ))

PHP Bible http://ppt.cc/o(Wl

PHP 官方網站http://www.php.net

Google http://www.google.com.tw

PHP Bible http://ppt.cc/o(Wl

PHP 官方網站http://www.php.net

Google http://www.google.com.tw

Page 59: Day 1 :  PHP Basic (2008/11/20)

59

明天待續明天待續明天待續明天待續

第一篇、認識 PHP

第二篇、 PHP 入門第三篇、 PHP+MYSQL

第四篇、 PHP 牛刀小試第五篇、歡樂週末 ~ 放假囉 !

第一篇、認識 PHP

第二篇、 PHP 入門第三篇、 PHP+MYSQL

第四篇、 PHP 牛刀小試第五篇、歡樂週末 ~ 放假囉 !

Page 60: Day 1 :  PHP Basic (2008/11/20)

60

謝謝各位謝謝各位謝謝各位謝謝各位

有任何疑問,聯絡請洽:http://blog.saturn.tw

寫信給我:[email protected]@saturn.tw

電話聯絡:0928-389698

有任何疑問,聯絡請洽:http://blog.saturn.tw

寫信給我:[email protected]@saturn.tw

電話聯絡:0928-389698