http://example.com/controller/my-page-with-dashes과 같은 URL이 필요합니다
에 대시 URL이하는? 나는 컨트롤러를 만들려고 시도하고 젠드 프레임 워크에서와 같이 myPageWithDashes
액션을 이름 짓지 만 작동하지 않았다. 그것이 어떻게되어야하는지 어떤 생각?
http://example.com/controller/my-page-with-dashes과 같은 URL이 필요합니다
에 대시 URL이하는? 나는 컨트롤러를 만들려고 시도하고 젠드 프레임 워크에서와 같이 myPageWithDashes
액션을 이름 짓지 만 작동하지 않았다. 그것이 어떻게되어야하는지 어떤 생각?
system/classes/kohana/request/client/internal.php
파일을 응용 프로그램 폴더 (application/classes/kohana/request/client/internal.php
)에 복사하십시오.
$action = str_replace('-', '_', $request->action());
아니, 당신은 당신의 경로에 정규식 매개 변수를 지정해야합니다
$action = $request->action();
하려면 : 1에서 106라인을 변경합니다.
경로에있는 문서를 읽고,이 설명 : http://kohanaframework.org/3.2/guide/kohana/routing#regex zombor이 경로의 정규식 변경했다 것처럼
컨트롤러와 액션 이름에 대해 ~ to _의 자동 번역에 의존하지 않는다면 제쳐두고이 제안이 더 적절할 것입니다. 좀 더 명확한 라우팅을 선호하기 때문에 이것을 제안했습니다. 자동 변환을 원하면 람다 매개 변수가 가장 좋은 방법입니다. – zombor
:
경로 :
Route::set('default', 'controller/<url>)', array('url' => '[-a-z0-9]+'))
->defaults(array(
'controller' => 'page',
'action' => 'index',
));
컨트롤러 :
Class Controller_Page {
public function action_index()
{
$url = $this->request->param('url');
}
}
을
array('url' => '[-a-z0-9]+')
이 부분은 url param.
시스템 파일을 절대 편집하면 안됩니다. 그렇지 않으면 사이트를 새 버전으로 업그레이드 할 때 문제가 발생합니다. 대신 클라이언트/내부 파일을 확장하고 응용 프로그램 폴더에서 수정하십시오. 계단식 파일 때문에 코어 파일을 확장하고 편집 할 수 있습니다. http://kohanaframework.org/3.2/guide/kohana/files – Luwe
고마워요 @ 루웨, 핵심 파일을 확장하여 다시 구현했습니다. –
더 좋은 방법이 있습니다. 방법을 보려면 zombor의 대답을 참조하십시오. – Ikke