스택큐힙리스트
PHP 프레임워크 중에 Zend Framework 이외의 Named URLs를 지원하는 것이 있습니까? 본문
나는 Django Framework에서 명명된 URL을 정말로 좋아하며, PHP Framework 중 어떤 것이 이와 같은 것을 지원하는지 궁금합니다. (Zend Framework는 이를 지원한다고 믿지만 설명없이 해당 답변에서 제외해 주세요).
예를 들어, Django에서 /items/###와 같은 경로를 item-detail-page로 이름 지을 수 있으며, 이는 제품 ID를 매개변수로 받는 뷰 '함수'를 가리킬 것입니다.
나중에, 'item-detail-page 123'과 같이 도움 함수를 사용하여 링크를 만들어 상품 상세 페이지의 주소를 참조할 수 있습니다. 이렇게 하면 HTML 템플릿 내의 참조나 링크를 변경하지 않고도 나중에 URL 구조를 변경할 수 있습니다.
CodeIgniter, CakePHP 등에 이미 그러한 기능이 있는지 알고 싶습니다.
Django 사용자: 알겠지만, 이 게시물은 'url' 템플릿 태그의 올바른 템플릿 구문을 포함하지 않습니다. 일반 개념을 제공하려고만 했습니다.
편집/업데이트:
나는 이 질문이 약간 불필요했을지도 모른다. 왜냐하면 이제 알고 보니 모든인기있는 프레임워크가 Django와 비슷한 라우팅 형태를 지원하기 때문이다. 따라서 하나의 최상의 답변만을 선택하는 것은 조금 공정하지 않다고 생각한다. 아마도 Django의 링크 생성 스타일에 가장 가까워 보이는 것이 가장 최선일 것이다. 나는 이를 내 질문에서 명확히 언급했으므로 (그래서 같은 것을 찾고 이 글을 찾는 다른 사람들을 위해) 그것이다.
답변 1
당신이 말하는 것을 제대로 이해한다면, CakePHP로 이 작업을 확실히 할 수 있습니다. Routes가 당신이 찾고 있는 것입니다.
모든 route/redirect 구성은 routes.php 파일에 모아져 있습니다. 그곳에서 다음과 같이 연결을 설정합니다.
Router::connect('/archives/*', array('controller' => 'posts',
'action' => 'archives'));
domain.com/archives를 domain.com/posts/archives로 경로 지정하려면 위와 같이 설정합니다.
조금 더 복잡한 예제는 다음과 같습니다.
Router::connect(
'/:year/:month/:day/*',
array('controller'=>'posts', 'action'=>'view'),
array(
'year' => '[12][0-9]{3}',
'month' => '0[1-9]|1[012]',
'day' => '0[1-9]|[12][0-9]|3[01]'
)
);
만약 당신이 domain.com/YYYY/MM/DD/post-title을 domain.com/posts/view/id로 라우팅하고 싶다면 (post-title과 id의 링크는 여기서 처리되지 않습니다).
행운을 빕니다.
답변 2
제목: 명명된 URL을 지원하는 PHP 프레임워크 (Zend Framework 외의 다른 프레임워크)서론:
웹 개발의 현대적인 접근 방식은 단순한 URL 구조를 사용하는 것에서 벗어나고 있습니다. 최적의 검색 엔진 최적화 (SEO)를 위해서는 의미 있는 URL 구조를 사용하여 사용자에게 짧고 직관적인 웹 주소를 제공해야 합니다. 그 중에서도 한국에서는 한글 URL 주소를 사용하여 사용자에게 더욱 친숙한 경험을 제공할 수 있습니다. 이러한 목적에 부합하는 PHP 프레임워크에 대해 알아보겠습니다.
주된 본론:
Zend Framework 외에도 명명된 URL을 지원하는 PHP 프레임워크는 다양한 선택지가 있습니다. 이 글에서는 Laravel 프레임워크를 예로 들어 설명하고자 합니다.
Laravel은 PHP 개발에 널리 사용되는 범용 웹 프레임워크로, 설치, 설정, 사용이 용이하면서도 강력한 기능들을 제공합니다. Laravel은 MVC (Model-View-Controller) 패턴을 기반으로하기 때문에 명명된 URL을 구현하는 데 이상적인 선택이 됩니다.
Laravel에서는 라우팅 기능을 통해 명명된 URL을 구현할 수 있습니다. 라우팅은 URL에 대한 요청을 해당하는 컨트롤러 액션과 연결합니다. Korean language package를 사용하여 한글 URL을 구현하는 것도 가능합니다. 이를 통해 한국인 사용자에게 익숙한 웹 주소 구조를 제공할 수 있습니다.
다음은 Laravel에서 명명된 URL을 구현하는 방법의 간단한 예시입니다:
1. routes/web.php 파일에서 라우팅을 설정합니다.
```php
Route::get('/게시물/{id}', '게시물컨트롤러@show')->name('게시물.show');
```
2. 컨트롤러에서 해당 액션을 구현합니다.
```php
public function show($id)
{
// 게시물 표시 로직
return view('게시물.show', ['id' => $id]);
}
```
3. 해당 URL을 생성할 때 라우팅의 이름을 사용합니다.
```html
$id]) }}>게시물 보기
```
이와 같은 방식으로 Laravel은 명명된 URL을 구현할 수 있으며, 한글 URL 주소를 사용하여 높은 SEO 점수를 얻을 수 있습니다. 검색 엔진은 의미 있는 URL 구조를 선호하므로 사용자가 기억하기 쉽고 관련 키워드를 반영한 URL을 제공함으로써 SEO를 최적화할 수 있습니다.
결론:
명명된 URL을 지원하는 다양한 PHP 프레임워크 중에서 Zend Framework 외에도 Laravel이라는 강력한 후보를 소개했습니다. Laravel은 MVC 패턴을 기반으로하여 명명된 URL을 구현하는 데 이상적인 선택이 될 수 있습니다. 한글 URL 주소를 사용하면 한국인 사용자에게 더욱 직관적이고 친숙한 웹 경험을 제공할 수 있으며, SEO를 최적화하여 검색 엔진 최적화에 도움을 줄 수 있습니다. Laravel은 사용하기 쉽고 강력한 기능을 가진 프레임워크이므로 향후 웹 개발 프로젝트에 적극적으로 고려할 만한 선택지입니다.