看板 PHP 關於我們 聯絡資訊
※ 引述《dododaphne (啊...)》之銘言: : Hi 各位大大好, : 小的是PHP初學者, 最近剛開始嘗試slim framework : 在網路上看到這個基本教學影片跟著實作: : "PHP Slim Framework Simple Demo"(http://youtu.be/26CRc89gN10)
: 實作過程很順利,但是後來產生一個bug不知道是哪裡出了問題? : 程式大致長得像是這樣的: : // helloslim.php : <? : require 'Slim/Slim.php'; : \Slim\Slim::registerAutoloader(); : $app = new \Slim\Slim(); : $app->get('/hello/:name', function ($name) { : /*render through some template page*/ : }); : $app->run(); : ?> : 網址列輸入這樣是正常的: : localhost/dir/helloslim.php/hello/yoyo : 但如果在尾巴多放'/',網頁就不會load CSS了 : localhost/dir/helloslim.php/hello/yoyo/ : 不知道我可能漏掉甚麼呢? : 謝謝! 這和 Slim 無關(搔頭),開一下 console 就知道啦, 在 chrome 下你去點那個 .css 檔另開分頁也可以看見他抓到哪去了。 基本上只是 css 的路徑存取問題, 當你在網址末端加上 / ,對瀏覽器來說這就是一個參照路徑, 網址: /path/to/page href="a.css" href="../a.css" href="/a.css" href="http://localhost/a.css" 載入會是 href="/path/to/a.css" href="/path/a.css" href="/a.css" href="http://localhost/a.css" 如果網址是: /path/to/page/ 載入會是 href="/path/to/page/a.css" href="/path/to/a.css" href="/a.css" href="http://localhost/a.css" 如果要避免這種路徑相對問題, 其一是寫完整路徑, 其二你可以使用 base meta http://www.w3schools.com/tags/tag_base.asp 完整路徑還是最安全的啦(攤手 題外話,如果你喜歡 Slim 風格的話,建議可以跳 Silex(小弟用一年半左右) 當初我也寫了半年 Slim,但是架構大一點就覺得不好整理, 這方面 Silex 畢竟是 Symfony 血統,架構擴展相對健全。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.34.248.219 ※ 文章網址: http://www.ptt.cc/bbs/PHP/M.1417442590.A.2E4.html
dododaphne: 感謝大大詳細的解說~我上了一課了!謝謝! 12/06 00:47