網頁程式撰寫/2017/王秋梅:修訂版本之間的差異
出自六年制學程
(→2017/12/21) |
|||
(未顯示同用戶所作出之29次版本) | |||
第 1 行: | 第 1 行: | ||
[[分類:網頁程式撰寫]] | [[分類:網頁程式撰寫]] | ||
− | |||
− | |||
− | |||
==課程筆記== | ==課程筆記== | ||
第 17 行: | 第 14 行: | ||
*各標籤重點 | *各標籤重點 | ||
*#字體標籤 | *#字體標籤 | ||
− | *#* | + | |
− | *#* | + | ===2017/9/21=== |
− | < | + | *Ch4_2_3.php(參照) |
− | *#*< | + | *Ch4_2_4.php(動態變數) |
− | * | + | *Ch4_4_9.php(預定義的變數) |
− | *#*< | + | |
− | *#*< | + | |
+ | ===2017/9/29=== | ||
+ | *一個敘述區塊{若干的敘述, 每個敘述用;結尾執行} | ||
+ | * | ||
+ | <pre> | ||
+ | { | ||
+ | ……….; | ||
+ | …………; | ||
+ | ………..; } | ||
+ | 用TAB鍵, 讓每段對齊 | ||
+ | (大部分程式語言都用{}, Python不用{}表達敘述區塊, 而是用對齊) | ||
+ | 當{}內只有一個敘述時, 可省略{} 不建議 | ||
+ | </pre> | ||
+ | <pre> | ||
+ | // 或 /* */ 註解 | ||
+ | # 抑制本行程式執行 | ||
+ | </pre> | ||
+ | <pre> | ||
+ | switch case | ||
+ | If elseif 可取代switch case功能, 但switch case 不能取代 if elseif功能, 因為它一定要有一個變數 | ||
+ | |||
+ | break; 跳到結尾的 } | ||
+ | </pre> | ||
+ | <pre> | ||
+ | 三元運算: 條件?真:假 | ||
+ | 可寫成一段敘述 | ||
+ | $str = ($hour >= 12) ? " PM" : " AM"; | ||
+ | $hour = ($hour >= 12) ? $hour-12 : $hour; | ||
+ | print "目前時間為: " . $hour . $str; | ||
+ | ==> | ||
+ | print "目前時間為: " . (($hour >= 12) ? $hour-12 : $hour) . (($hour >= 12) ? " PM" : " AM") ; | ||
+ | |||
+ | </pre> | ||
+ | |||
+ | *迴圈 | ||
+ | *#最常用的迴圈~ for遞增迴圈 使用前要先知道你要用幾次 | ||
+ | *#最危險的迴圈~while迴圈 可能跑到無窮迴圈使程式當掉 | ||
+ | *#至少要做一次的迴圈~ do while迴圈 | ||
+ | |||
+ | <pre> | ||
+ | ($i % 2) == 1 餘數為1 代表$i為奇數 | ||
+ | ($i % 2) == 0 餘數為0 代表$i為偶數 | ||
+ | |||
+ | </pre> | ||
+ | |||
+ | ===2017/10/5 CHAP6=== | ||
+ | *函式也是敘述區塊 | ||
+ | <pre> | ||
+ | function 函式名(引數/參數) | ||
+ | { | ||
+ | |||
+ | } | ||
+ | </pre> | ||
+ | *函式名命名原則 | ||
+ | *#不可用數字開頭、不可用保留字 | ||
+ | *#可使用中文(不建議用)、變數 | ||
+ | *#函式名可加&,但PHP4版後已無必要加 | ||
+ | |||
+ | *函式變數 | ||
+ | *#全域變數VS區域變數VS靜態變數 | ||
+ | *#傳址 VS 傳值 | ||
+ | <pre> | ||
+ | <?php | ||
+ | // 傳值函數, $c在本函式做完即銷毀 | ||
+ | function byValue($c) { | ||
+ | $c = $c + 2; // 將參數值加一 | ||
+ | print "<tr><td>在byValue()函數為</td>"; | ||
+ | print "<td>".$c."</td></tr>"; | ||
+ | } | ||
+ | // 傳址函數,送進來的為$c的位址, 因此操作完, $c這個位址的值也跟著變了 | ||
+ | function byRef(&$c) { | ||
+ | $c = $c + 2; // 將參數值加一 | ||
+ | print "<tr><td>在byRef()函數為</td>"; | ||
+ | print "<td>".$c."</td></tr>"; | ||
+ | } | ||
+ | ?> | ||
+ | </pre> | ||
+ | *靜態變數:函式內產生的變數, 於做完後不銷毀, 用static宣告 | ||
+ | <pre> | ||
+ | // 函數使用靜態變數 */ | ||
+ | function staticVar() { | ||
+ | static $count = 0; //只宣告一次, 宣告後再進函式不會再重新宣告 | ||
+ | $count += 2; // 靜態變數加一 | ||
+ | return $count; | ||
+ | } | ||
+ | |||
+ | </pre> | ||
+ | *載入另一個PHP檔案 | ||
+ | *#檔案命名 **.inc (存放常用的常數/變數/函式) | ||
+ | *#載入與呼叫方法 | ||
+ | *常用的函式 | ||
+ | *#時間 | ||
+ | *#時間戳記(時間刻記)的原點: | ||
+ | 1970.1.1.0.0.0 | ||
+ | 年月日時分秒 | ||
+ | |||
+ | |||
+ | ===2017/10/12 CHAP6~7=== | ||
+ | *陣列、一維陣列、二維陣列 | ||
+ | *註標索引陣列、組合陣列、註標(足標)索引、字串索引 | ||
+ | *改寫程式Ch7_2_4.php | ||
+ | <pre> | ||
+ | function sum($a=array()){ | ||
+ | echo count($a).”<br>”; | ||
+ | foreach($a as $v){ | ||
+ | echo “參數$k=>$v”; | ||
+ | $total=0; | ||
+ | foreach($a as $v){ | ||
+ | $total+=$v; | ||
+ | } | ||
+ | echo “ 總和為$total”; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | </pre> | ||
+ | |||
+ | ===2017/10/26 CHAP7=== | ||
+ | *CHAP4~7是PHP重要章節 網頁程式撰寫主軸/骨幹 | ||
+ | *MYSQL只要認識5個 | ||
+ | *PHP 函數要熟悉100個 | ||
+ | *字串容易存在MYSQL表裡 | ||
+ | *陣列可補足字串的各種操作 | ||
+ | *“ “ 內所有轉譯字元是有效的 | ||
+ | *‘ ‘ 內大多數轉譯字元是無效的 | ||
+ | *localhost本地伺服器 | ||
+ | *每個電腦有65,536個port(有一個port是不能用,所以是65,535) | ||
+ | *要知道利用哪個通道與外界電腦聯絡 | ||
+ | *資料庫是一個目錄, 裡面建很多資料表 | ||
+ | *關連式資料表 | ||
+ | <pre> | ||
+ | web- wid、姓名、phone | ||
+ | webMail- eid、wid、email | ||
+ | 用wid來串連2個資料表 | ||
+ | 串連的欄位不能重覆 | ||
+ | </pre> | ||
+ | |||
+ | ===2017/12/21=== | ||
+ | *程式整理 | ||
+ | <pre> | ||
+ | 四種內容映射的方法 | ||
+ | 1.取用 WebContent 資料表: | ||
+ | 2.取用預設 wiki 站台的頁: 定義在GfWebContent.php內 | ||
+ | 3.跨 site 引用 | ||
+ | 4.php | ||
+ | |||
+ | </pre> | ||
+ | *#外觀相關程式整理 | ||
+ | <pre> | ||
+ | theme.php | ||
+ | |||
+ | </pre> | ||
+ | *#基本功能相關程式整理 | ||
+ | <pre> | ||
+ | siteConstant.php 定義上傳圖檔的分類資料夾及檔案位置images(權限需設為777,含子目錄,因透過網頁上傳) | ||
+ | 上傳檔案fileUpload.php | ||
+ | 秀圖檔showImages.php | ||
+ | </pre> |
2017年12月21日 (四) 11:54的最新修訂版本
目錄
課程筆記
2017/9/14
- HTML4 vs HTML5
- 撰寫網頁時需告訴人家是用哪一版HTML
- 目前瀏覽器預設為HTML4
- HTML5 最大的改變在把動畫(flash)納入標籤格式內
- HTTP VS HTTPS
- 傳送HTML的協定
- HTTPS 有加密; 架設需付費
- 各標籤重點
- 字體標籤
2017/9/21
- Ch4_2_3.php(參照)
- Ch4_2_4.php(動態變數)
- Ch4_4_9.php(預定義的變數)
2017/9/29
- 一個敘述區塊{若干的敘述, 每個敘述用;結尾執行}
{ ……….; …………; ………..; } 用TAB鍵, 讓每段對齊 (大部分程式語言都用{}, Python不用{}表達敘述區塊, 而是用對齊) 當{}內只有一個敘述時, 可省略{} 不建議
// 或 /* */ 註解 # 抑制本行程式執行
switch case If elseif 可取代switch case功能, 但switch case 不能取代 if elseif功能, 因為它一定要有一個變數 break; 跳到結尾的 }
三元運算: 條件?真:假 可寫成一段敘述 $str = ($hour >= 12) ? " PM" : " AM"; $hour = ($hour >= 12) ? $hour-12 : $hour; print "目前時間為: " . $hour . $str; ==> print "目前時間為: " . (($hour >= 12) ? $hour-12 : $hour) . (($hour >= 12) ? " PM" : " AM") ;
- 迴圈
- 最常用的迴圈~ for遞增迴圈 使用前要先知道你要用幾次
- 最危險的迴圈~while迴圈 可能跑到無窮迴圈使程式當掉
- 至少要做一次的迴圈~ do while迴圈
($i % 2) == 1 餘數為1 代表$i為奇數 ($i % 2) == 0 餘數為0 代表$i為偶數
2017/10/5 CHAP6
- 函式也是敘述區塊
function 函式名(引數/參數) { }
- 函式名命名原則
- 不可用數字開頭、不可用保留字
- 可使用中文(不建議用)、變數
- 函式名可加&,但PHP4版後已無必要加
- 函式變數
- 全域變數VS區域變數VS靜態變數
- 傳址 VS 傳值
<?php // 傳值函數, $c在本函式做完即銷毀 function byValue($c) { $c = $c + 2; // 將參數值加一 print "<tr><td>在byValue()函數為</td>"; print "<td>".$c."</td></tr>"; } // 傳址函數,送進來的為$c的位址, 因此操作完, $c這個位址的值也跟著變了 function byRef(&$c) { $c = $c + 2; // 將參數值加一 print "<tr><td>在byRef()函數為</td>"; print "<td>".$c."</td></tr>"; } ?>
- 靜態變數:函式內產生的變數, 於做完後不銷毀, 用static宣告
// 函數使用靜態變數 */ function staticVar() { static $count = 0; //只宣告一次, 宣告後再進函式不會再重新宣告 $count += 2; // 靜態變數加一 return $count; }
- 載入另一個PHP檔案
- 檔案命名 **.inc (存放常用的常數/變數/函式)
- 載入與呼叫方法
- 常用的函式
- 時間
- 時間戳記(時間刻記)的原點:
1970.1.1.0.0.0 年月日時分秒
2017/10/12 CHAP6~7
- 陣列、一維陣列、二維陣列
- 註標索引陣列、組合陣列、註標(足標)索引、字串索引
- 改寫程式Ch7_2_4.php
function sum($a=array()){ echo count($a).”<br>”; foreach($a as $v){ echo “參數$k=>$v”; $total=0; foreach($a as $v){ $total+=$v; } echo “ 總和為$total”; } }
2017/10/26 CHAP7
- CHAP4~7是PHP重要章節 網頁程式撰寫主軸/骨幹
- MYSQL只要認識5個
- PHP 函數要熟悉100個
- 字串容易存在MYSQL表裡
- 陣列可補足字串的各種操作
- “ “ 內所有轉譯字元是有效的
- ‘ ‘ 內大多數轉譯字元是無效的
- localhost本地伺服器
- 每個電腦有65,536個port(有一個port是不能用,所以是65,535)
- 要知道利用哪個通道與外界電腦聯絡
- 資料庫是一個目錄, 裡面建很多資料表
- 關連式資料表
web- wid、姓名、phone webMail- eid、wid、email 用wid來串連2個資料表 串連的欄位不能重覆
2017/12/21
- 程式整理
四種內容映射的方法 1.取用 WebContent 資料表: 2.取用預設 wiki 站台的頁: 定義在GfWebContent.php內 3.跨 site 引用 4.php
- 外觀相關程式整理
theme.php
- 基本功能相關程式整理
siteConstant.php 定義上傳圖檔的分類資料夾及檔案位置images(權限需設為777,含子目錄,因透過網頁上傳) 上傳檔案fileUpload.php 秀圖檔showImages.php