1

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

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

我发现的是这样的问题: 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 文件夹中的所有模型文件都应该以大写字母开头吗?

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

视图文件夹呢:是视图还是视图?

我已经阅读了一些关于 Kohana 的示例,但从我发现的内容来看,我怀疑它是否适用于 3.3。

另外,我的问题是:为什么它在 Windows 下工作?

4

1 回答 1

3

您可以通过简单地阅读文档和/或只是试验并查看哪些有效,哪些无效。

简而言之,在 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')加载不同的模型,但将使用同一个表。

于 2012-12-28T19:38:06.550 回答