|
7 | 7 | 這一週呢,你要負責來增強這個專案,請加上以下功能:
|
8 | 8 |
|
9 | 9 | 1. 分頁功能(要能夠顯示現在在哪一頁、切換到其他分頁等等,一頁顯示 5 個留言就好,這樣比較好測)
|
10 |
| -2. 由帳號機制改成以前那種可以自己輸入暱稱的方式留言(所以沒辦法與原本留言板的資料庫共用,要新開一個) |
| 10 | +2. 由帳號機制改成以前那種可以自己輸入暱稱的方式留言(所以沒辦法與原本留言板的資料庫共用,要新開一個 table) |
11 | 11 |
|
12 |
| -介面的部分請使用 Bootstrap,JS 的部分也請盡量用 jQuery,版面隨自己喜好設置就可以了。 |
| 12 | +介面的部分請盡量使用 Bootstrap,JS 的部分也請盡量用 jQuery,版面隨自己喜好設置就可以了。 |
13 | 13 |
|
14 | 14 | 總結一下,這個作業有兩個東西要做:
|
15 | 15 |
|
16 |
| -1. 自己實作出留言板 API,要能夠新增留言以及顯示留言 |
| 16 | +1. 自己實作出留言板的 API,要能夠新增留言以及顯示留言 |
17 | 17 | 2. 串接自己做出來的 API
|
18 | 18 |
|
19 |
| -## hw2:打造短網址服務 |
| 19 | +範例:待補 |
20 | 20 |
|
21 |
| -短網址服務的原理其實很簡單,那就是背後有一個 table 紀錄了短網址跟長網址的關聯,當使用者造訪短網址的時候,就把使用者用 302 redirect 導到長網址去即可。 |
| 21 | +## hw2:Todo List |
22 | 22 |
|
23 |
| -因此呢,請你做一個簡易短網址的 API,檔案名稱會是: |
| 23 | +之前在第七週的時候有實作過一個 todo list,那時只有支援新增、刪除已經標記完成,但比較完整的 todo list 應該會長這個樣子: |
24 | 24 |
|
25 |
| -1. create_url.php(處理縮網址的需求) |
| 25 | + |
26 | 26 |
|
27 |
| -除此之外,你還需要兩個 PHP 檔: |
28 |
| -1. r.php (把短網址導到長網址) |
29 |
| -2. index.php(提供縮網址功能) |
| 27 | +參考連結:http://todomvc.com/examples/vanillajs/ |
30 | 28 |
|
31 |
| -r.php 的功能很簡單,就是接收短網址然後導到原本的網址去。 |
| 29 | +需要支援的功能有: |
32 | 30 |
|
33 |
| -例如說 r.php?id=abc123,可能就會連到 google.com 去之類的。 |
| 31 | +1. 新增 todo |
| 32 | +2. 編輯 todo |
| 33 | +3. 刪除 todo |
| 34 | +4. 標記完成/未完成 |
| 35 | +5. 清空 todo |
| 36 | +6. 篩選 todo(全部、未完成、已完成) |
34 | 37 |
|
35 |
| -至於 create_url.php 則是負責縮網址的部分。 |
| 38 | +除此之外,請你再加上一個功能,那就是會有一個「儲存」的按鈕,按下去以後會把目前 todo 的狀態送到 server 去儲存,並且回傳一個獨特的 id,以後使用者如果有帶這個 id,就自動把它的 todo 載入進來。 |
36 | 39 |
|
37 |
| -可以用 POST 的方式把要縮的網址傳到 create_url.php 去,而且可以接收一個參數叫做「custom_url」,如果有這個參數,代表使用者想要自訂短網址。 |
| 40 | +舉例來說,原本的網址可能是`https://example.com/todos.php`,按下儲存以後網址變成:`https://example.com/todos.php?id=5`,下次我用同樣網址進來時,就可以看到我之前儲存好的 todo item。 |
38 | 41 |
|
39 |
| -例如說把 google.com 帶到 create_url.php,可能會產生一個短網址是:http://example.com/r.php?id=abc123 |
| 42 | +這邊一樣是前後端串接,你必須要用 ajax 來傳遞資料。所以你要思考的問題是: |
40 | 43 |
|
41 |
| -但如果我把 google.com 以及 custom_url=g 一起傳給 server,產生的短網址就會是:http://example.com/r.php?id=g |
| 44 | +1. 怎麼把 todo 的狀態變成字串傳到 server |
| 45 | +2. 怎麼樣偵測網址上的 id,並且送出 request 到後端抓取 todos |
| 46 | +3. 怎麼樣把 todos 顯示在前端 |
42 | 47 |
|
43 |
| -介面的部分請使用 Bootstrap,JS 的部分也請盡量用 jQuery,前端版面的部分請自己設計。 |
| 48 | +介面的部分請盡量使用 Bootstrap,JS 的部分也請盡量用 jQuery,版面隨自己喜好設置就可以了,不需要跟上面那個圖片長得一樣。 |
44 | 49 |
|
45 |
| -總結一下,這個作業你會做出一個 index.php,畫面上會有兩個輸入框,一個讓使用者輸入長網址,一個輸入自訂短網址,還有一個按鈕叫做「產生短網址」。 |
46 |
| - |
47 |
| -當按鈕按下去以後,前端會用 ajax 去呼叫後端的 create_url.php,然後拿到一個縮好的網址,格式一定會是:http://example.com/r.php?id=xxx |
48 |
| - |
49 |
| -接著使用者點了這個網址以後,就會透過 r.php 幫忙把後面帶的短網址轉換為原本的網址,並且導到原本的網址去,屬於你的縮網址服務就這樣完成了。 |
| 50 | +範例:待補 |
50 | 51 |
|
51 | 52 | ## hw3:簡答題
|
52 | 53 |
|
|
0 commit comments