티스토리 뷰

웹프로그래밍/PHP

Lumen - L5 호환 - 시작하기

공허공자 2015. 12. 10. 03:00

관리자 콘솔은 Laravel 5.1 로 만든 후

사용자단은 Lumen 5.1 로 만들고 시작하는 과정을 정리해본다.

Lumen은 Laravel 축약판이라는 느낌을 주지만
/bootstrap/app.php 주석을 많이 풀어주면 Laravel 까지는 아니더라도 많은 기능이 해방된다.

Dotenv::load(__DIR__.'/../');  // 이 주석 해제 안하면 /.env 파일의 설정을 읽어오지 못함
$app->withFacades();  // 주석을 해제하고 퍼사드들을 쓰도록
$app->withEloquent(); // 주석을 해제하고 편리한 ORM들을 쓰도록

또한 /bootstrap/app.php 에서는

composer require 패키지 들을 서비스 프로바이더로 등록하는 부분이 존재한다.

아래 예제는 HtmlDomParser 패키지를 composer require 후 등록한 사례다.

$app->register(App\Providers\HtmlDomParserProvider::class);

본인은 Laravel 모델을 옮겨와서 Eloquent ORM 사용해보려 했더니
....../config_path() ...... 식의 오류가 태클을 걸어왔다.

http://laravelista.com/json-web-token-authentication-for-lumen/ 의 Improving Lumen 섹션 내용 중 패키지 설치 제외한 조언대로 진행하면 된다.

/app/helpers.php 파일을 만들고 아래의 소스를 입력 후 저장한다.

<?php

if ( ! function_exists('config_path'))
{
    /**
     * Get the configuration path.
     *
     * @param  string $path
     * @return string
     */
    function config_path($path = '')
    {
        return app()->basePath() . '/config' . ($path ? '/' . $path : $path);
    }
}

composer.json 파일의 autoload에 아래와 같이 추가 

  "autoload": {
    ...
    "files": [
      "app/helpers.php"
    ]
  },

composer dump-autoload 콘솔에서 실행.

구글에서 lumen L5 helpers 검색해보면 더욱 긴 helpers.php 코드도 영접해 볼 수 있다.

이후 /config 폴더를 만들고

/vendor/laravel/lumen-framework/confg/*.php

들을 취사 선택하여 복사해주자.

취사 선택이라 함은
lumen의 경우 루트에 있는 .env 파일을 기본으로 하며
/config 폴더에 있는 설정파일들은 선택적으로 활용하게끔 되어 있다.
마이크로 프레임워크니까 그렇다고 본다.

위 사항들을 몰라서 본인은 개고생했다. 오류 난무!

이정도 했으면 브라우저에서 오류 발생시 본인의 코드 문제가 되는 수준의 셋팅이 완료된 것이다.


댓글