之前在 BE101 的最後,有做了一個留言板的 API,並且自己利用前端 JS 去串接,有顯示留言跟新增留言這兩個功能,如果你忘記的話可以回去複習一下。
這一週呢,你要負責來增強這個專案,請加上以下功能:
- 分頁功能(要能夠顯示現在在哪一頁、切換到其他分頁等等,一頁顯示 5 個留言就好,這樣比較好測)
- 由帳號機制改成以前那種可以自己輸入暱稱的方式留言(所以沒辦法與原本留言板的資料庫共用,要新開一個)
介面的部分請使用 Bootstrap,JS 的部分也請盡量用 jQuery,版面隨自己喜好設置就可以了。
總結一下,這個作業有兩個東西要做:
- 自己實作出留言板 API,要能夠新增留言以及顯示留言
- 串接自己做出來的 API
短網址服務的原理其實很簡單,那就是背後有一個 table 紀錄了短網址跟長網址的關聯,當使用者造訪短網址的時候,就把使用者用 302 redirect 導到長網址去即可。
因此呢,請你做一個簡易短網址的 API,檔案名稱會是:
- create_url.php(處理縮網址的需求)
除此之外,你還需要兩個 PHP 檔:
- r.php (把短網址導到長網址)
- index.php(提供縮網址功能)
r.php 的功能很簡單,就是接收短網址然後導到原本的網址去。
例如說 r.php?id=abc123,可能就會連到 google.com 去之類的。
至於 create_url.php 則是負責縮網址的部分。
可以用 POST 的方式把要縮的網址傳到 create_url.php 去,而且可以接收一個參數叫做「custom_url」,如果有這個參數,代表使用者想要自訂短網址。
例如說把 google.com 帶到 create_url.php,可能會產生一個短網址是:http://example.com/r.php?id=abc123
但如果我把 google.com 以及 custom_url=g 一起傳給 server,產生的短網址就會是:http://example.com/r.php?id=g
介面的部分請使用 Bootstrap,JS 的部分也請盡量用 jQuery,前端版面的部分請自己設計。
總結一下,這個作業你會做出一個 index.php,畫面上會有兩個輸入框,一個讓使用者輸入長網址,一個輸入自訂短網址,還有一個按鈕叫做「產生短網址」。
當按鈕按下去以後,前端會用 ajax 去呼叫後端的 create_url.php,然後拿到一個縮好的網址,格式一定會是:http://example.com/r.php?id=xxx
接著使用者點了這個網址以後,就會透過 r.php 幫忙把後面帶的短網址轉換為原本的網址,並且導到原本的網址去,屬於你的縮網址服務就這樣完成了。
- 請簡單解釋什麼是 Single Page Application
- SPA 的優缺點為何
- 這週這種後端負責提供只輸出資料的 API,前端一律都用 Ajax 串接的寫法,跟之前透過 PHP 直接輸出內容的留言板有什麼不同?
請將答案寫在 hw3.md。