← 패키지 목록

Active

인증된 제출자

watson/active

제출자 이우진
최신 v7.3.0라이센스 MIT배포 2026년 8월 15일

현재 라우트, 컨트롤러, 액션을 감지하는 Laravel 헬퍼

Active for Laravel

Build Status Total Downloads Latest Stable Version Latest Unstable Version License Buy us a tree

Active는 현재 경로(path)나 라우트를 손쉽게 감지할 수 있도록 도와주는 Laravel 헬퍼 패키지입니다. Bootstrap의 active 클래스처럼, 특정 라우트가 활성화되어 있을 때만 CSS 클래스를 적용하거나 특정 동작을 수행해야 할 때 유용합니다. 현재 컨트롤러명과 액션명을 가져오는 헬퍼 함수도 함께 제공합니다.


목차


설치

Composer로 패키지를 설치합니다.

composer require watson/active

NOTE

Laravel 5.1을 사용 중이라면 2.0.4 버전까지만 지원됩니다.

설치 후 config/app.phpproviders 배열에 서비스 프로바이더를 등록합니다.

Watson\Active\ActiveServiceProvider::class,

Facade를 사용하려면 같은 파일의 aliases 배열에도 추가합니다.

'Active' => Watson\Active\Facades\Active::class,

사용법

헬퍼 함수 목록

이 패키지는 Facade나 별도 인스턴스 없이 바로 사용할 수 있는 전역 헬퍼 함수를 제공합니다.

active() is_active()

active() 사용법

확인하고 싶은 라우트나 경로를 배열로 전달하면, 현재 페이지가 그 중 하나와 일치할 때 'active' 문자열을 반환합니다. Bootstrap의 active 클래스를 적용할 때 특히 편리합니다.

// 현재 라우트가 배열 중 하나와 일치하면 'active' 반환 active(['login', 'users/*', 'posts.*', 'pages.contact']); // 일치하면 'active-class' 반환 active(['login', 'logout'], 'active-class'); // 일치하지 않으면 'fallback-class' 반환 active(['login', 'logout'], 'active-class', 'fallback-class');

인자 형식 설명

형식예시설명
경로 문자열'login'현재 경로가 정확히 login일 때
와일드카드 경로'users/*'users/로 시작하는 모든 경로
라우트 이름'posts.*'posts.으로 시작하는 이름의 라우트
정확한 라우트 이름'pages.contact'라우트 이름이 정확히 pages.contact일 때

Blade 뷰에서 활용 예시

내비게이션 링크에 활성 클래스를 자동으로 적용할 때 아래처럼 사용합니다.

<a href="{{ route('posts.index') }}" class="{{ active('posts.index') }}">전체 글</a>

특정 경로 제외하기

not: 접두사를 사용하면 특정 경로나 라우트를 판단에서 제외할 수 있습니다.

// pages/ 하위 경로에서 활성이지만, pages/contact는 제외 active(['pages/*', 'not:pages/contact']) // 라우트 이름 기준으로 제외 active(['pages.*', 'not:pages.contact'])

is_active() 사용법

active()와 동일한 방식으로 경로와 라우트를 전달하지만, 문자열 대신 boolean 값을 반환합니다. 조건 분기가 필요할 때 유용합니다.

@if (is_active('posts/*')) 지금 블로그 포스트를 보고 있습니다! @endif

추가 헬퍼 함수

컨트롤러가 요청을 처리하는 경우, 현재 컨트롤러명과 액션명을 소문자로 반환하는 헬퍼도 제공합니다. HTTP 메서드(get, post 등)는 이름에서 제외됩니다.

예를 들어 FooController@getBar로 라우팅된 요청의 경우:

$controller = controller_name(); // 'foo' $action = action_name(); // 'bar'

라이선스

Active for Laravel은 MIT 라이선스 하에 완전히 무료로 제공되는 오픈소스 패키지입니다.

이 패키지는 Treeware 프로젝트에 참여하고 있습니다. 프로덕션 환경에서 사용하고 있다면, 지구에 나무 한 그루 심기에 동참해 주세요. 이 활동은 지역 일자리 창출과 야생동물 서식지 복원에 기여합니다.