블로그 프로필 이미지

2015. 3. 20. 16:34
SMALL





composer 를 잘 모르거나 설치와 실행이 필요하다면 아래의 포스팅 또는 composer 설치과정과 사용방법이 담긴 싸이트를 이용하면 된다.



사실 위의 링크인 생활코딩 이라는 웹싸이트를 들어가면 동영상으로 자세히 설명이 나와있다. 그렇기 때문에  자세한 설명은 생활코딩 싸이트의 동영상을  참고하도록 하고, 이곳에서는 각 사용방법에 대해 간단하게 설명할려고 한다.




패키지 다운로드


composer 를 이용하여 패키지를 다운로드 받아 보도록 하자. 패키지를 다운로드 할 수 있는 싸이트는 아래와 같다. 



(php 패키지 다운로드 싸이트)



패키지 다운로드 싸이트에 접속하였다면, Search packages.. 이라고 나와있는 검색 입력창에  원하는 패키지를 검색하여 다운로드 하면된다. 일단 예제로 markdown 이라는 키워드를 입력해 보자. 엔터는 누를 필요가 없다.


아래의 그림을 보면 수많은 패키지들을 볼 수 있는데 그중에서 아래그림에서 ★ 수가 가장 많은 michelf/php-markdown 클릭해보자.


 (패키지 검색화면)



클릭을 하고나면 패키지의 정보가 담긴 페이지를 볼 수 있다. 물론 이곳에서 소스를 다운로드하여, 원하는 위치에 삽입후 사용할 수 있지만, 지금은 composer 를 이용해야 하기 때문에, 일단 이 파일을 다운로드 할 수 있도록 환경 설정을 해주어야한다. 




 composer.json 파일 만들기


우선 서버폴더로 가서 패키지를 다운받기 위해 필요한 composer.json 파일 하나를 만들도록 하자. 예를들어 public_html 이라는 루트 폴더가 있다면, 그안에 composer.json 파일을 만들어 주면된다. 파일을 만들때는 간단하게 메모장을 열어서 저장을 누른후 형식은 모든파일, 인코딩은 UTF-8 로 한 후 파일이름에는 composer.json 을 입력해 주고 저장을 하면된다.


composer.json 파일을 생성하엿다면, 위에서 검색했던 패키지를 다운로드 할 수 있도록 composer.json 에 코딩을 해주어야한다. 코딩은 아래와 같고, 크게 어려운 부분은 없다.


 composer.json 파일에 패키지 정보 등록하는 예제


{
    "require": {
        "michelf/php-markdown": "1.5.0"
    }
}


위와 같이 require 에 패키지를 다운로드 또는 업데이트 받는 정보를 써넣어야한다. 위의 패키지정보는 아래의 그림에서 붉은색 부분을 통하여 확인 할 수 있다.


(패키지 상세 정보)




 패키지 설치


위와 같이 코딩을 해주었다면 composer.json 파일을 저장 하도록 하자. 그럼 이제 composer 를 통해 위의 패키지들을 다운로드 받아야한다. 일단 cmd를 열어서 composer.json 파일이 있는 경로를 설정해 주어야한다. 그런다음 composer install 이라는 명령어를 cmd에 입력하면 된다.


composer install 명령어를 통해 설치가 정상적으로 되었다면 아래 그림과 같을 것이다. 


(정상적으로 설치된 화면)



패키지들이 정상적으로 설치가 되었다면, 아래 그림과 같이 composer.json 파일이 있는 경로에 vendor 이라는폴더와 composer.lock 이라는 파일이 생성된걸 확인할 수 있다.


(vendor 폴더와 composer.lock 이라는 파일이 생성되었다.)





☞ 패키지의 간단한 사용 예


패키지의 사용방법은 메뉴얼을 읽어봐야하기때문에, 여기서는 간단하게 알아보도록 하자. 우선 화면에 출력이 가능한 php 스크립트파일을 열어서 아래와 같이 입력해보자.


 다운받은 패키지를 사용하는 예제


<?PHP
require 'vendor/autoload.php'; /* autoload.php 파일 로드 */
use Michelf\Markdown; /* Markdown 의 경로 */
$text = file_get_contents('vendor/michelf/php-markdown/Readme.md'); /* 현재 php 파일이 있는 위치로부터의 경로 */
$html = Markdown::defaultTransform($text); /* 기본 라이브러리 사용 */ 
echo $html;  /* 출력 */
?>


위와 같이 입력하면 패키지 경로에 문제가 없을 시 아래와 같은 화면을 볼 수 있다.


(패키지의 라이브러리가 정상적으로 적용된 모습)




☞ composer 의 업데이트와 삭제


위에서 간단하게 composer 를 이용하여 패키지들의 사용 방법에 대해 알아보았다. 그럼 마지막으로, composer 의 업데이트와 삭제에 대해 알아보자.


 composer.json 에 여러개의 패키지를 등록할 때


{
    "require": {
        "michelf/php-markdown": "1.5.0",
 "cebe/markdown": "1.1.*",
 "dflydev/markdown": "1.0.*"
    }
}


여러개의 패키지를 업데이트 또는 설치하고싶을때는 위와 같이 콤마로 분류해 주면된다. 또한 위에서 보면, 버전 옆에 * 를 볼 수있다. 이렇게 *를 해놓으면 composer 에서는 가장 최신버전을 찾아서 업데이트 또는 설치를 하게된다.


패키지 업데이트 같은 경우는 패키지를 사용중 추가가 되거나 버전이 업그레이드 되엇을 시 사용하는 것이다. 주의 해야 할점은 기존에 있던 composer.json 파일에 적힌 정보들을 그대로 이용하여 추가해야 한다는 점이다.  만약 composer.json 파일의 내용을 전부 지우고 새로 입력한다면, composer 에서는  composer.lock 파일에 의해, 기존에 있던 패키지들을 삭제후 새로입력된 패키지를 설치하게 된다. 


 composer 명령어를 통한 패키지 업데이트


c:\> composer update  


 composer 명령어를 통한 패키지 삭제


{
    "require": {
        "michelf/php-markdown": "1.5.0",
 "cebe/markdown": "1.1.*" , 삭제
"dflydev/markdown": "1.0.*"
    }
}


composer.json 파일을 열어서 require 부분에 있는것중 지우고싶은 패키지정보가 적혀진 줄을 삭제 하고, cmd 에서 composer 명령어로 composer update 를 사용하면 된다.


LIST