2014-09-03 3 views
1

다음 내용을 이해할 수 없습니다. 책에서, 그들은 말한다 :Cakephp 명명 규칙 모순?

여러 단어 컨트롤러 그렇게 컨트롤러의 이름을 동일 어떤 '굴절'형태가 될 수 있습니다

/redApples 
/RedApples 
/Red_apples 
/red_apples 

것 RedApples 컨트롤러의 인덱스에 대한 모든 해결. 그러나 URL은 소문자이고 밑줄이 있기 때문에/red_apples/go_pick은 RedApplesController :: go_pick 액션에 액세스하는 올바른 형식입니다.

내가 add.ctp보기에 쓰기하지만

echo $this->Html->link('Add Red Apples', 
        array('controller' => 'RedApples', 'action' => 'add'), 
        array('class' => 'button')); 

는이 HTML 출력을 생성이다 : 그래서

www.site.com/RedApples/add 

, RedApplesController에 액세스 할 수있는 올바른 방법을 :: 추가/red_apples입니다/add하지만 CakePHP HTML 도우미는/RedApples/add와 같은 링크를 만듭니다. 내 자신의 링크를 작성하는 올바른 방법은 무엇입니까?

감사합니다.

+0

값이 글자 그대로 URL의 일부로 사용되기 때문에 배열의 키 이름에 '컨트롤러'가 사용되는 것 같습니다. 'array ('controller'=> 'red_apples'...)'를 사용하십시오. 이 값은 URL에서 사용되며'RedApples '컨트롤러에 매핑됩니다. –

+0

@GeorgeCummins - 값은 말 그대로 URL의 일부로 사용되지 않습니다. URL을 만드는 데 사용되며 경로에 따라 변경 될 수 있습니다. – Dave

+0

당신은 바로 조지아민입니다. 내 실수는 "컨트롤러"=> "RedApples"(자습서)를 사용하는 것이 었습니다. "red_apples"를 사용하여 올바른 규칙을 적용 할 수있었습니다. 어쨌든 컨트롤러 이름 ("RedApples"입니다!)을 사용하고 이름의 밑줄이 아닌 버전을 사용해야한다고 저는 생각합니다. 고맙습니다. – Shunsho

답변

1

문제가 무엇인지 혼란 스럽습니다.

  1. 은 당신이 당신이 표시
  2. 권장 이외의 형태는

문제가 무엇을 선택한 양식을 사용

  • 어떤 형태를 사용할 수 있다고? 그것이 당신에게 컨벤션을 제공한다는 사실 (그러나 비 전통적 인 것을 받아 들일 것이라고 말함) 그리고 컨벤션을 사용하지 않기로 결정한 것은 IMO 문제와 동일하지 않습니다.

    아마도 나는 진짜 질문을 오해하고 있습니까?

    내 자신의 링크를 작성하는 올바른 방법은 무엇입니까?

    은 "올바른"방법은 그러나

    이 협약이 URL이 있다는 것입니다 "... 올바른 방법은"복사 방법/거의 그대로라는 책에서 붙여 소문자이고 밑줄이 표시되어 있으므로 /red_apples/go_pick이 올바른 양식입니다. ~ 은 RedApplesController :: go_pick 동작에 액세스합니다. 어떤 알 수없는 이유로 당신이 당신의 링크 생성에 컨트롤러의 이름으로 "RedApples"(?를 사용자가 변경할 수없는 변수 또는 무언가)를 사용해야하는 경우

    , 당신은 인플에서 포장 수 :

    $myController = 'RedApples'; //unable to change to 'red_apples' for some reason 
    //... 
    'controller'=>Inflector::tableize($myController) 
    //... 
    
  • +0

    올바른 방법은 밑줄이 쳐져 있지만, "컨트롤러"=> "RedApples"를 사용하는 이유를 이해하지 못한다는 것을 나는 분명히 알지 못했다. 컨트롤러), 그것은 규칙을 벗어난 링크를 만듭니다. (/ redapples 대신 automaticaly/red_apples). 정말 HTML 도우미가 어떻게 작동하는지 이해하지 못했습니다 ... 답변 해 주셔서 감사합니다. – Shunsho