※ 引述《chchwy (mat)》之銘言:
: 小弟打算使用CodeIgniter來開發網站
: 目前正在學習@@
: 但是初步有一些小問題 上來請教各位
: 1. CI中所有的路徑都相對於index.php (圖片,js等等)
: 但是美術做出來的網頁路徑都相對於view
: 這個路徑差異有沒有什麼簡單的解決辦法呢?
似乎沒有
: 還是美術每次修改網頁,我就要幫他弄好路徑?
在 config/constant.php 裡面
$file_path = $_SERVER['DOCUMENT_ROOT'];
if(strrpos($file_path, '/') == strlen($file_path))
$file_path = substr(0, strlen($file_path) - 1);
define('STATIC_FILE', $file_path .'/dir_name/file_name');
之後在 view 裡面都用絕對路徑 (STATIC_FILE + 路徑),
另外叫(教)美術自己另外定義一個 STATIC_FILE 。
: 2. 我以前會把版面切成一些小塊
: 然後用include 'xxx.php';
: 這樣子方式處理標題,邊欄等等很方便
: CI的view裡面我要怎麼做才能有類似的效果呢 (...include 應該是不能用了)
還是可以用阿,只是很醜。
: 特別是這些小塊頁面可能也需要access DB的時候。
每個 controller 裡面的每個 method 都載入一次 header, footer 就好了。
如果你確定不會在 controller 裡面用 redirect() 的話,
你也可以在建構子和解構子裡面分別載入 header 和 footer (但這樣醜死了)
另外小的 view 在 CI 裡面還是可以繼續 $this->load->view('name');
因為 CI 沒有在分 view 和 element (一般小的 view 叫 element)
我是建議第一次寫,網站初期不用考慮太多結構上的問題,
以免綁手綁腳,如果硬要 MVC ,只想從 Model 取資料,
那就把常用的東西拆到 Library 去,然後要的時候在叫用。
不過 CI 的好處是要取資料時, SQL 可以直接下在 view 裡面很方便
等到以後哪天看不順眼,屆時再用比較漂亮的方法重寫就好了 :)
: 3. CI兼容PHP4,所以我看很多範例也都用php4的寫法
: 那如果我用php5的寫法,這樣參雜會不會有問題呢?
: 例如
: class my_controller extends Controller{
: function __construct(){ <===php5 style contructor
: //...
: }
: }
: 因為才接觸CI兩三天 可能有些問題很基礎
: 不好意思麻煩了
單改建構子是不會有問題的。
--
The Internet: where men are men, women are men, and children are FBI agents.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.220.104.63
※ 編輯: roga 來自: 203.83.216.112 (04/14 13:17)