2010-12-09 4 views
0

MVC의 기본 개념을 얻었지만 내 "홈페이지"를 어디에 두어야하는지 잘 모르겠습니다. 예를 들어 stackoverflow.com/questions와 같은 것보다는 stackoverflow.com으로 이동 한 경우 명백한 컨트롤러가 부착 된 페이지 (예 : "질문"컨트롤러)를 의미합니다."첫 페이지"는 MVC에서 어디에 적합합니까?

GET 변수를 기반으로 사용할 컨트롤러를 결정하는 기능이 있지만 변수가 누락 된 경우 어떻게해야하는지 잘 모르겠습니다. 나는 "기본 경로"와 같은 define()을 추가하려고 생각하고 있었지만 무엇을 사용해야할지 모르겠습니다. 기본 페이지는 페이지 범주에 속하지만 자체 seperp 엔터티가됩니다. 예를 들어 stackoverflow를 사용하려면 프론트 페이지를 'questions'컨트롤러로 라우팅 할 수 있지만 액션으로 무엇을 사용해야할지 모릅니다. "questions/frontpage"는 나에게 나쁜 이름 인 것 같습니다.

이상하지만 MVC 튜토리얼 온라인에서는 다루지 않습니다.

답변

3

당신은 일반적으로 컨트롤러를 사용합니다.

부트 스트랩 유형 파일에 기본 라우팅을 설정 한 경우, 가정용 컨트롤러와 비어있는 $_SERVER['REQUEST_URI'] 또는 그 이상의 것을 가리 키십시오.

0

대부분의 MVC 프레임 워크에는 경로 '/'에 대해 정의 된 일종의 기본 경로가 있습니다. 컨트롤러를 아무 때나 호출 할 수 있으며, 다음 "주"또는 "기본"잘 작동이. 나는 일반적으로 어떤 컨트롤러 "인덱스"의 "첫 페이지"를 호출합니다.

+0

프레임 워크를 사용하고 있지 않습니다. 다시 SO를 예제로 사용하면 "stackoverflow.com"과 "stackoverflow.com/questions"의 차이가 있지만 둘 다 질문 목록을 보여주는 "기본"페이지입니다. 어쩌면 첫 페이지는 "인덱스"액션만으로 자체 컨트롤러가되어야할까요? – Kristina

+0

젠장, 내가 방금 실수 한 것 같아요. Stackoverflow에는 또한 질문 목록 인 "태그"가 있지만 여전히 분리되어 있습니다. 물론 tere는 가정용 컨트롤러 일뿐입니다! 감사합니다. – Kristina

+0

라우팅 설정은 어떻게되어 있습니까?그래서 당신은 단순히 같은 컨트롤러/행동을 가리키는 두 경로를 가지고 있습니다. 너는 그렇게 쉽게 할 수있다. 나는 홈 페이지가 완전히 분리 된 로직을 필요로한다면 (자체적으로 분리 된 컨트롤러에 속할 수도있다.) 나는 대답에서 언급했듯이 보통'core' 또는'default'라고 부른다. – prodigitalson

0

그럼 뭐든지 될 수 있습니다. U는 보통 Symfony 나 Zend를 사용하며 default 또는 core이라고하는 모듈/컨트롤러를 가지고 있으며 일반적으로 홈페이지는 해당 모듈/컨트롤러에서 index 액션입니다. 그런 다음 내 라우팅 구성에서 '/'또는 내 라우팅 URL로 사용하는 기본 경로로 지정합니다.

1

대부분의 MVC 프레임 워크는 컨트롤러 내의 "index()"함수에 지정된 "동작"없이 어떤 종류의 기본 동작을 매핑합니다.

http://mysite.com 

에 Kohana의 경우

, 호출이 실제로 "기본 컨트롤러"에 매핑되는 ") (지수"와 (구성 파일에 지정, 당신은 그러나 당신이 좋아하는 컨트롤러의 이름을 지정할 수 있습니다) 기능.

0

기본 페이지의 기본값은 "index.html"입니다. 루트 "www"디렉토리에 "index.html"이 있으면이 URL은 요청 URL에 웹 사이트 주소 만 있으면 표시 될 페이지입니다.

아파치 설정 파일 (ASP에 대해 확실하지 않음)을 조정하여 다른 페이지 나 스크립트를 기본값으로 만들거나 index (php | jsp | *)를 기본값으로 만들 수 있습니다.

서커스에 따라 다르지만 일반적으로 웹 사이트의 동적 인 부분에 대한 링크가 포함 된 정적 "index.html"페이지가 있어야합니다.

관련 문제