2011-01-17 6 views
0

Windows에서 잠시 작업을 시작한 Zend Framework 프로젝트가 있습니다. Zend Server CE에서 실행되었고 모든 것이 잘 동작했습니다. Windows 컴퓨터간에 이동하는 것은 전혀 문제가되지 않았습니다. 하지만 지금은 Zend Server CE를 사용하여 우분투 서버에 넣기를 원했습니다. 그러나 누락 된 컨트롤러 플러그인에 대해 불평하기 시작했습니다. 그러나 그들은 "올바른"지점에 위치하고있었습니다. 오토로더가 어떻게 든 혼란 스러울 것 같아요.Zend Framework 프로젝트를 Ubuntu로 옮겼습니다. 작동을 멈췄습니다.

Windows가 원인이되는 폴더 및 파일에서 대소 문자를 구분하지 않는 이름을 사용한다는 점이 좋습니다. 올바른 폴더에서 젠드 프레임 워크가 가질 폴더는 무엇입니까? 폴더에 대한 표준 프로젝트 레이아웃의 소문자 이름이 사용됩니다. 그러나 젠드 프레임 워크 자체를 보면 대문자의 첫 글자가 사용됩니다. 어쩌면 함께 젠드 프레임 워크 자동 로더 내 프로젝트에서

forms/Foo.php에 위치되는

Form_Foo 같은 복수 형태의 폴더 이름에 단수 클래스 이름을 받아 들인다는 사실과 프로젝트의 주요 부분은 표준 소문자 스타일을 사용합니다.

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 

그러나

다음 나는 내 핵심 클래스가 그에 내가 그들에게

library 
    Core 
    Model 
     User.php -- Contains the class Core_Model_User 

빠른 테스트를 이름의 젠드 프레임 워크 방법을 사용하여 코어 폴더가 내 라이브러리 폴더에 Zend Framework가 이러한 클래스를 잘 찾을 수 있음을 나타냅니다.

Linux의 Zend Framework에서 자동 로딩을 위해 정확한 케이스 이름을 사용해야하는 곳은 어디입니까? 처음 자본 이름을 선택하는 경우

Application 
    Modules 
    Default 
     Controllers 
     Views 
     ... 

모든 아이디어와 팁을 환영합니다.

답변

2

"Plugin_Controller_Acl_Plugin"은로드 할 수없는 유일한 클래스입니까? 그렇다면 플러그인 (예 : plugins/Controller/Acl)과 같은 모든 디렉토리에 대문자를 사용해야합니다. 자동 로더는 네임 스페이스의 "Plugin_"부분과 "plugins"디렉토리 만 연결하기 때문에 다른 디렉토리는 다른 클래스 (대문자로 된 디렉토리 이름은 밑줄 만 디렉토리 구분자로 변환됩니다). Zend_Application_Module_Autoloader를 기본 설정으로 살펴보고 거기에 나열된 디렉토리 (양식, 플러그인 등) 아래에 대문자로 된 디렉토리 이름을 사용해야합니다.

+0

네 .. 그게 전부가 원인이 창 하단/대문자 무지의 어리 석음이었다 :) – inquam

관련 문제