Re: [請益] 請問 PHP framework 通常怎麼更新
※ 引述《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
推
02/26 20:08, , 1F
02/26 20:08, 1F
※ 編輯: liaosankai 來自: 114.38.151.224 (02/26 20:58)
→
02/27 23:32, , 2F
02/27 23:32, 2F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):