2011-05-14 9 views
2

cakephp를 사용하여 고유 한 코드를 네임 스페이스에 넣을 수 있습니까? 다음의 아주 간단한 컨트롤러 클래스는 잘 동작합니다.CakePHP와 네임 스페이스?

class Customer extends \AppModel { 
    var $name = 'Customer'; 
} 

그러나, 나는

namespace foo\bar; 

CakePHP를 추가하면 더 이상 컨트롤러를 찾을 수 없습니다. 어떤 네임 스페이스에서 컨트롤러를 찾아야하는지 알 수있는 방법이 있습니까?

저는 cakephp 1.3과 php 5.3을 사용하고 있습니다.

+1

네임 스페이스가 CakePHP 3에 있습니다. – cgTag

+0

하나 이상의 PHP 버전이 네임 스페이스를 가지고 있습니다. [tag : namespaces] 태그가 있으면이 질문을 분류 할 수 있습니다. 버전 태그를 호출 할 필요가 없습니다. 특히 더 이상 존재해서는 안되는 것들. [당신이 방금 SO에서 버그를 발견했다고 생각합니다] (http://meta.stackexchange.com/q/179510/135887). – Charles

답변

1

나는 없을 것이라고 생각합니다. CakePHP는 PostsController 또는 BlogController과 같은 클래스를 찾고, foo\bar\PostsController이 아닙니다. 어쩌면 CakePHP에게 그 폴더를 찾을 폴더를 알려주지 만 (아마), 여전히 이름없는 클래스 이름을 찾을 것입니다.

네임 스페이스를 사용하지 않는 프레임 워크에서 왜 이것을 원하겠습니까?

+4

왜 내가 이것을 원할 것입니까? 따라서 클래스 이름은 프레임 워크의 클래스 이름과 충돌하지 않습니다. –

+0

그게 유효한 지적이지만, 전체 프레임 워크가 unnamespaced로 만들어 졌기 때문에 프레임 워크의 스타일에 재미 있고 unpronouncable, unrememberable (?) 이름을 부여 할 수 있습니다. 모든 논쟁. 미안해 케이크 = 그것을 허용하지 않습니다) [여러] (http://symfony.com/) [기타] (http://lithify.me/) [아주 좋아] (https://github.com/rudiedirkx/ Rudie-on-wheels) [프레임 워크] (http://www.recessframework.org/) [할 수] (http://framework.zend.com/wiki/display/ZFDEV2/Zend+Framework+2.0+Requirements) 그것을 허용하십시오. – Rudie

0

App::import()cakephp 1.3에 포기하지 않는 이유는 무엇입니까? 이를 include_once()으로 교체하십시오.

네임 스페이스 아래에 정의 된 사용자 지정 공급 업체 클래스가 제대로 작동합니다. 공식 클래스 이름과 사용자 정의 클래스 이름의 충돌을 막기 위해서.