私は、Windowsに戻ったときにaaで作業を開始したZendFrameworkプロジェクトを持っています。Zend Server CEで実行され、すべてが正常に機能しました。Windowsマシン間での移動はまったく問題ありませんでした。しかし今は、ZendServerCEを使用したままUbuntuサーバーに配置したいと思いました。しかし、コントローラープラグインの欠落について不平を言い始めました。しかし、それらは「正しい」場所にありました。オートローダーはどういうわけか混乱していると思います。
Windowsが原因となるフォルダやファイルで、大文字と小文字を区別しない名前を使用しているのは事実であると思われます。正しい場合、Zend Frameworkにはどのフォルダーが必要ですか?標準のプロジェクトレイアウトを見ると、フォルダの小文字の名前が使用されています。ただし、Zend Framework自体を見ると、大文字の最初の文字が使用されています。たぶん、ZendFrameworkオートローダーが次のような複数形のフォルダー名で単数形のクラス名を受け入れるという事実と一緒に
Form_Foo
に位置していますforms/Foo.php
私のプロジェクトでは、プロジェクトの主要部分は標準の小文字スタイルを使用しています。
すなわち
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
しかし、ライブラリフォルダーにはCoreフォルダーがあり、そこにCoreクラスがあり、それらにはZendFrameworkの方法で名前を付けています。
library
Core
Model
User.php -- Contains the class Core_Model_User
クイックテストは、ZendFrameworkがこれらのクラスを適切に見つけることができることを示しているようです。
LinuxのZendFrameworkを使用している場合、自動読み込みを機能させるには、どこで正しいケース名を使用する必要がありますか?のように全体を通して最初の大文字の名前を選ぶ必要があります
Application
Modules
Default
Controllers
Views
...
任意のアイデアやヒントを歓迎します。