Kohana 3.3大写/小写对流

时间:2012-12-28 19:22:38

标签: namespaces kohana filenames kohana-3 kohana-3.3

我刚刚将我在Kohana3.3上创建的项目从Windows移动到Ubuntu(本地服务器),它停止了工作。我认为问题是大写/小写问题(它表示表.__或Model_它们不存在)。

我需要一些关于大写/小写文件名和类名的解释。

我发现的是SO question: Kohana 3.3 Not working from Subdirectory

Kohana 3.3增加了对PHP Framework Interop Group的PSR-0标准的部分支持。我们鼓励PHP框架开发人员遵循此标准来简化框架之间的交互。 PSR-0的要求之一是类名和文件名匹配。

另外,我看到Kohana3.3中的Controller文件夹以大写字母C开头(不是3.2中)。另外,Welcome.php文件以W开头(不像3.2)。

所以,我对Kohana3.3的简单问题是:

Model文件夹是否应以大写字母开头?

所有控制器文件都应以大写字母开头吗?

Model文件夹中的所有模型文件都应以大写字母开头吗?

我应该写ORM :: factory('Capital'),而不是ORM :: factory('capital')?

视图文件夹怎么样?是查看还是查看?

我已经阅读了Kohana的一些例子,但是从我发现的内容中我怀疑是3.3。

另外,我的问题:为什么它在Windows下运行?

1 个答案:

答案 0 :(得分: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')会加载不同的模型,但会使用相同的表格。