2010-06-05 3 views
1

나는 다른 도시의 상점을 검색하고 싶고 URL이 다음과 같이되고 싶다는 프로젝트를 만들고있다 : domain/shop/city/name.Codeigniter - 컨트롤러의 생성자에 기능을 추가해도 괜찮습니까?

그래서 Shop이라는 codeigniter에 컨트롤러를 만들었습니다. 그러나 도시 이름에 따라 URL이 변경되는 도시 기능이 있기 때문에 도시 기능을 만들 수 없습니다. 한 가지 쉬운 방법은 "검색"이라는 기능을 추가하고 거기에 기능을 추가하는 것이지만 그 다음에는 도메인/상점/검색/도시/이름과 같은 URL을 얻습니다. 실제로 피하고 싶습니다.

내 질문에 URL에 여분의 "검색"부분을 피하기 위해 생성자에 직접 내 기능을 추가해도 괜찮습니까? 생성자가 매번 호출되지 않도록 잠재적으로 클래스를 메모리에 유지하는 일부 성능 트릭이있을 수 있습니다.

답변

2

CodeIgniter의 라우팅은 매우 유연 - 당신은 아마도, 아마도 와일드 카드 기능을 사용하여 당신은 당신의 라우팅 설정의 설정 손보는에 의해 무엇을해야 할 수 있습니다

을 그렇지 않다면, 당신을 아파치의 mod_rewrite를 사용하여 도메인/상점/도시/이름 형식의 URL을 도메인/상점/검색/도시/이름 형식이나 일부 변형으로 완벽하게 다시 작성할 수 있습니다.

+0

라우팅을 통해 좋은 결과를 얻지 못했지만 아마도 mod_rewrite에 관한 것입니다. 감사! – Irro

+1

라우팅을 사용하는 것은 이러한 문제를 해결하는 것입니다. CI 사용자 가이드는이를 사용하는 데 대한 명확한 지침을 제공합니다. – Kurucu

+0

나의 나쁜, 나는 그것을 빨리 비난했다. 그것은 내가해야 할 일에 완벽했습니다. $ route [ 'shop/([\\ w] *)'] = "shop/search/$ 1"; – Irro

관련 문제