我有一个 Zend Framework 项目,我在 Windows 中开始工作一段时间。它在 Zend Server CE 上运行,一切正常。在 Windows 机器之间移动它完全没有问题。但是现在我想把它放在一个 Ubuntu 服务器上,仍然使用 Zend Server CE。但它开始抱怨缺少控制器插件。但它们位于“正确”的位置。我猜自动装载机不知何故变得混乱。
感觉应该是因为 Windows 在文件夹和文件上使用不区分大小写的名称是原因。Zend Framework 在正确的情况下需要哪些文件夹?查看标准项目布局的小写文件夹名称。但是查看 Zend 框架本身使用了大写的首字母。也许再加上 Zend Framework 自动加载器在复数形式的文件夹名称上接受单数类名,例如
Form_Foo
位于forms/Foo.php
在我的项目中,项目的主要部分使用标准的小写样式。
IE
application
modules
default
controllers
views
models
forms
plugins
controller
acl
Plugin.php -- The class Plugin_Controller_Acl_Plugin in this file is not found on Linux
foo
controlles
views
models
forms
但是然后在我的库文件夹中,我有一个核心文件夹,其中有我的核心类,并且在那些我使用 Zend 框架命名它们的方式
library
Core
Model
User.php -- Contains the class Core_Model_User
快速测试似乎表明 Zend Framework 能够很好地定位这些类。
在 Linux 中的 Zend Framework 中,您必须在哪里使用正确的案例名称才能使自动加载工作?是否应该在整个过程中选择第一个大写名称
Application
Modules
Default
Controllers
Views
...
欢迎任何想法和提示。