Laravel 4에 사용자 라이브러리를 추가하는 방법은 패키지를 만들어서 composer를 사용하는 방법도 있지만 이는 공용 라이브러리에 해당하는 얘기이다. 여기서는 어플에 종속적이거나 간단한 라이브러리를 Laravel 4에 추가하는 방법을 설명하고자 한다.

먼저, app폴더 밑에 library폴더를 만들고 거기에 우리가 추가하고자 하는 클래스 파일을 넣는다.

$ cd app
$ mkdir library
$ vi Sample.php

간단하게 만든 예제 클래스 Sample. 이를 전역에서 라이브러리로 사용하고자 한다.

<?php

class Sample {

  public static function say() {
    echo "Hello World";
  }

} 

library 폴더 내의 클래스들이 자동으로 로드되게 하기 위해서 composer.json 파일을 수정한다.

$ cd ..
$ vi composer.json

수정된 composer.json 파일. 13번째 라인에 app/library폴더를 추가했다.

{
  "name": "laravel/laravel",
  "description": "The Laravel Framework.",
  "keywords": ["framework", "laravel"],
  "license": "MIT",
  "require": {
    "laravel/framework": "4.1.*"
  },
  "autoload": {
    "classmap": [
      "app/commands",
      "app/controllers",
      "app/library",
      "app/models",
      "app/database/migrations",
      "app/database/seeds",
      "app/tests/TestCase.php"
    ]
  },
  "scripts": {
    "post-install-cmd": [
      "php artisan optimize"
    ],
    "post-update-cmd": [
      "php artisan clear-compiled",
      "php artisan optimize"
    ],
    "post-create-project-cmd": [
      "php artisan key:generate"
    ]
  },
  "config": {
    "preferred-install": "dist"
  },
  "minimum-stability": "stable"
}

autoload를 갱신한다.

$ composer dump-autoload

이제 우리가 만든 Sample 클래스를 써보자. 여기서는 간단하게 route.php에서 사용해 보겠다.

<?php

Route::get('/', function()
{
  Sample::say();
  return View::make('hello');
});