2012-12-28 37 views
1

我剛把Kohana3.3上創建的項目從Windows遷移到Ubuntu(本地服務器),並停止工作。我相信問題是大小寫問題(它對錶.__或Model_說它們不存在)。Kohana 3.3大寫/小寫對話

我需要一些關於大寫/小寫文件名和類名的解釋。

什麼我發現是SO question: Kohana 3.3 Not working from Subdirectory

Kohana的3.3增加了對PHP框架的Interop集團的PSR-0標準的部分支持。鼓勵PHP框架開發人員遵循此標準來簡化框架之間的交互。 PSR-0的要求之一是類名和文件名匹配。

此外,我看到Kohana3.3中的Controller文件夾以大寫字母C開始(不像3.2)。另外,Welcome.php文件以W開頭(不在3.2中)。

所以,我對Kohana3.3簡單的問題是:

如若模型文件夾開始用大寫字母?

是否所有控制器文件都以大寫字母開頭?

模型文件夾中的所有模型文件是否都應以大寫字母開頭?我應該寫ORM :: factory('Capital'),而不是ORM :: factory('capital')?

視圖文件夾怎麼樣:是視圖還是視圖?

我已經閱讀了Kohana的一些例子,但從我發現的情況來看,我懷疑它是3.3。

另外,我的問題:爲什麼它在Windows下工作?

+1

也許這將幫助您遷移: http://stackoverflow.com/questions/13935621/how-to-upgrade-from-kohana-3-2-to-3-3-implementing- PSR-0/13937574#13937574 – Daan

回答

3

你可以通過簡單的reading the documentation和/或只是試驗,看看什麼有效,什麼是行不通的。

總之,在PSR-0文件名中必須是,確切地說與類名相同。所以,如果您調用名爲Penguins_CanNot_Fly的類,那麼文件名應該完全是Penguins/CanNot/Fly.php

在Linux上,文件名區分大小寫。所以,File.txtfile.txt是兩個不同的文件。但是,在Windows上,這兩個文件被認爲是相同的文件(這是因爲Windows不區分大小寫)。這意味着PSR-0在Windows上無法正常工作,除非您修改自動加載器來檢查確切的文件路徑。

至於ORM,是的,你需要記住模型應區分大小寫。 ORM::factory('Blog')ORM::factory('blog')將加載不同的模型,但將使用相同的表格。