看板 PHP 關於我們 聯絡資訊
※ 引述《hermitwhite (不存在的騎士)》之銘言: :   我以前沒有接觸過比較底層的 PHP framework,這次因為需要從頭開發 : 網站程式的關係而開始學 Kohana。我看到文件裡提到可以(或必須)根據自 : 己的需求去修改 index.php 和 bootstrap.php 覺得有點疑惑,因為這和我 : 以前寫東西完全不碰設定檔以外內建檔案的習慣有所牴觸(bootstrap 的功 : 能就是設定檔,但它和一般的設定檔相比又太複雜)。 :   想請問:Kohana 這樣的設計在更新 framework 時怎麼辦?通常要手動 : merge 改過的檔案嗎?或者這類型的 framework 不更新也沒什麼關係? Kohana3.3 的預設三大資料夾如下: <application> ← main app <modules> ← sub apps <system> index.php index.php 只有在你移動了三大資料夾的時候,才需要重新設定 位置變數,不然通常很少會去異動它,不過 kohana 這樣的設計 意味著你可以兩個不同的 <application> 共用同一個 <system> 和 <modules>,例如下面的結構: ├<public_html>  ├<project_1>  index.php  ├<project_2>   index.php ├<myapp>  ├<app1>   bootstrap.php  ├<app2> bootstrap.php ├<kohana>  ├<system>  ├<modules> `public_html/project_1/index.php` 的設定如下:  $application = '../../myapp/app1';  $modules = '../../kohana/modules';  $system = '../../kohana/system'; `public_html/project_2/index.php` 的設定如下:  $applicaiton = '../../myapp/app2'  $modules = '../../kohana/modules';  $system = '../../kohana/system'; 你說的更新 freamwork 只需要更新 <system> 或是部分官方 <modules> 即可,例如 <modules/databae>、<modules/orm> 等… 但不是一定要更新。更新的方式在 3.3 後已有支援 composer,當 然你也可以重新下載,覆蓋 <system> 和 <modules> 的部分來更新(不建議) Kohana 最重要的觀念文章是這篇 Cascading Filesystem http://kohanaframework.org/3.3/guide/kohana/files 每個 modules 就像是一個小型 application,但 bootstrap.php 變成 init.php 結構都和 main application 一模一樣,在執行段階時,kohana 會將它們自動 的做層級上的 merge。 另外要提醒的是,application/classes 底下的所有檔案,對大小寫是敏感的。 假設你有一個 model 類別名稱是 class Model_Post_Comment extends ORM {} 那麼你的檔案位置就一定要是 `classes/Model/Post/Comment.php` 如果你檔案位置是 `classes/model/post/comment.php` 在 win 環境跑是沒問題,但如果丟到 liunx 系統就會噴掉了! 最後: 如果你沒有一定要追趕流行,Kohana 是個不錯的選擇! -- 歡迎來我的網誌看看 @ http://blog.liaosankai.com -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.126.19.29
lovemai073:詳細推 02/26 20:08
※ 編輯: liaosankai 來自: 114.38.151.224 (02/26 20:58)
hermitwhite:感謝,把我想知道的都很清楚地回答了。 02/27 23:32