패키지마다 약간씩 다르겠지만 일반적으로 라라벨 전용 패키지 설치 절차는 다음과 같습니다.

디버깅 유틸리티로 유명한 debugbar 설치를 통해 일반적인 라라벨 패키지 설치 절차를 알아 봅시다.

 

  1. 컴포저로 의존성을 설치합니다.

    $ composer require barryvdh/laravel-debugbar ~2.0
    CODE
  2. 라라벨 전용 패키지는 서비스 프로바이더로 등록해 주어야 하며 패키지 종류에 따라 파사드를 지원하는 경우 alias 항목에 파사드도 등록합니다. 독자들은 익히 알다시피 해당 설정은 config/app.php 에 추가해야 합니다. 

    'providers' => [
    	// ...
    	Barryvdh\Debugbar\ServiceProvider::class,
    ];
     
    'aliases' => [
    	// ...
    	'Debugbar' => Barryvdh\Debugbar\Facade::class,
    ];
    CODE
  3. 패키지의 설정이나 css/js 같은 asset 파일이 있을 경우 publish 명령을 실행해야 하며 이는 패키지마다 다르므로 설치 매뉴얼을 참고해야 합니다. debugbar 는 많은 css/js 파일을 설치해야 하므로 publish 명령을 실행하십시요.

    $ php artisan vendor:publish 
     
    Copied File [/vendor/barryvdh/laravel-debugbar/config/debugbar.php] To [/config/debugbar.php]
    Publishing complete for tag []!
    CODE
  4. publish 된 설정 파일을 수정해야 하는 패키지의 경우 매뉴얼을 참고하여 수정해야 하며 debugbar 는 config/debugbar.php 설정 파일을 생성하며 debugbar 는 config/app.php 의 'debug' 항목이  true 일때만 동작합니다.
  5. 정상적으로 패키지가 설치되었고 동작 여부를 확인했다면 프로젝트내 다른 개발자들도 오류가 없도록 수정된 파일을 커밋해야 합니다. 보통 패키지 설치시 다음 세 가지 파일을 커밋해야 하는 경우가 많습니다.
    • composer.json : 새로 추가된 패키지 의존성 정보 
    • composer.lock : 실제 설치된 패키지의 버전 및 해시값등 자세한 설치 정보
    • config/app.php: 패키지의 ServiceProvider 등록 정보

  6. 이제 다른 개발자의 환경에서는 변경된 내용을 update 받고 composer install 을 실행하여 의존성을 설치하면 됩니다.

    composer update 가 아닌 composer install 을 실행해야 에러가 발생하지 않습니다. 자세한 사항은 부록의 컴포저 항목중 프로젝트 참여자 의존성 일치시키기 를 참고하세요.

     

이제 정상적으로 debugbar 설치가 끝났으므로 간단한 사용법을 알아 봅시다. 이제 사이트에 접속하면 하단에 그림과 같은 디버깅 툴바가 생기며 실행 시간, 호출된 뷰, 예외, 실행한 쿼리등 다양한 정보를 확인할 수 있습니다.

 

만약 불편할 경우 우측의 x 버튼을 누르면 최소화 되어 맨 좌측에 아이콘만 표시되어 디버깅 정보를 출력하지 않습니다. debugbar  는 개발시 굉장히 유용한 패키지이므로 개발 단계에서 사용하다가 운영으로 전환시 .env 에 APP_DEBUG=false 로 설정하면 더 이상 동작하지 않습니다.

debugbar 는 view 가 html 경우에만 동작하므로 다음과 같이  json response 를 바로 호출하면 동작 하지 않습니다.

class OrderController extends Controller
{
    public function sql()
    {
        $tasks = Task::whereIn('id', [1, 3, 5, 6])->get();
        return $tasks;
    }
CODE