B-C-ME2SR3

{OPEN} PHP 언어를 이용한 Open API 호출 가이드 #2

Blog Post created by B-C-ME2SR3 Employee on Jul 22, 2015

안녕하세요?

아카마이 노승헌입니다.

 

근래에 Open API 사용에 대한 아카마이 고객분들의 요청이 많아지면서 제공해 드리고 있는 라이브러리들도 계속 개선되고 있는 것 같습니다.

PHP 언어에 대한 라이브러리 역시 마찬가지인데요, 기존에는 단순히 require / include 하면 되는 소스코드가 제공되었지만

몇 가지 문제점들이 있었고 (예: 반복 사용시 Initialize 의 이슈 등) 이를 보완한 버전이 현재 제공되고 있습니다.

 

스크린샷 2015-07-22 오후 5.55.09.png

 

새롭게 제공되는 PHP 버전의 아카마이 Open API 라이브러리는 내부적으로 PHP 용 의존성 관리 도구인 Composer 를 쓰도록 변경되었습니다.

이는 HTTP 통신 모듈쪽을 PHP 용 오픈쓰 HTTP 도구인 Guzzle 기반으로 다시 작성하는 등의 과정이 있었고

이들에 대한 의존성 관리를 체계적으로 제공하기 위함이니, 선택적으로 어떤 구현을 가져가실지 고민해보셔야 할 것 같습니다.

쉬운 선택은 역시 #1. Composer 를 설치하고, #2. Composer 를 통해 라이브러리를 설치하는 방법이겠습니다.

 

Github 에서 Guzzle Project 살펴보기 [바로가기]

Composer 공식 웹사이트에서 Composer Project 에 대해 자세히 살펴보기 [바로가기]

 

Composer 의 설치는 curl 커맨드를 이용하여 간단히 진행할 수 있습니다.

여느 도구들처럼 전역적으로 설치할 수도 있겠지만 시험적으로 Open API 를 사용해 보거나 테스트 한다면

아래와 같이 실제로 코드가 개발되는 경로에 Composer 를 설치하시면 되겠습니다.

전역 설치에 대해서는 Composer 웹 사이트의 안내를 참고하시기 바랍니다!

 

sel-mpego:dashboard snoh$ curl -sS https://getcomposer.org/installer | php
#!/usr/bin/env php
All settings correct for using Composer
Downloading...


Composer successfully installed to: /Users/snoh/project/dashboard/composer.phar
Use it: php composer.phar
sel-mpego:dashboard snoh$ ls -al
total 2192
drwxr-xr-x  4 snoh  600      136  7 20 17:43 .
drwxr-xr-x  3 snoh  600      102  7 20 17:33 ..
-rwxr-xr-x  1 snoh  600  1114511  7 20 17:43 composer.phar


 

Composer 가 설치되면 phar 확장자를 가진 파일이 하나 생성된 것이 보이실겁니다.

이제 php 를 커맨드라인에서 실행하여 아카마이 Open API 라이브러리를 설치해 보도록 하겠습니다.

조금전에 확인한 파일에 파라메터로 require akamai-open/edgegrid-client 를 입력하면

PHP 라이브러리의 설치과정이 시작되며 잠시 기다리시면 설치가 종료됩니다.

 

sel-mpego:dashboard snoh$ php composer.phar require akamai-open/edgegrid-client
Using version ^0.2.1 for akamai-open/edgegrid-client
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
  - Installing psr/log (1.0.0)
    Downloading: 100%


.....fff

 

라이브러리의 설치가 완료되면 여러가지 파일들이 정신없이 다운로드 된 것이 확인되실겁니다.

실제 Open API 호출에 필요한 코드들은 vendor 경로 하위의 akamai-open 경로에 위치해 있습니다.

포스팅 시리즈 중에 말씀드리겠지만 HTTP 호출에 대한 Timeout 등 기본값 변경을 위해서는

이 경로에 있는 파일들을 수정할 예정이니 위치를 눈여겨 봐두시면 좋을 것 같습니다!

Composer 를 통해서 라이브러리 등이 설치 완료되면 간단한 PHP 코드를 이용하여 라이브러리를 개발 코드에 포함시킬 수 있습니다.

 

<?
    require 'vendor/autoload.php';
?>

 

조금전에 보았던 vendor 경로 하위에는 autoload.php 파일이 있고

이 파일을 개발 코드에 넣으시기만 하면 설치한 패키지와 관련한 하위 의존성 패키지들이 설치되게 됩니다.

실제로는 또 다른 파일을 참고하는 등의 과정이 있으니 관심 있으신 분들은 한번 살펴보시면 되겠습니다.

다음 포스팅에서는 설치 완료한 PHP 라이브러리를 이용하여 실제 간단한 API 를 호출해보도록 하겠습니다.

 

감사합니다.

Outcomes