UI와 API
UI는 User Interface의 약자다. 이것은 시스템과 사용자 사이의 접점을 의미하는데, 사용자의 의지를 시스템에게 전달하면서, 시스템의 상태를 사용자에게 알려주는 장치, 그래픽, 명령어들을 포괄적으로 UI라고 부른다.
API는 Application Programming Interface의 약자로 (운영체제나 언어 같은) 플랫폼과 그 플랫폼 위에서 동작하는 응용 프로그램이 상호작용하는 접점이라고 할 수 있다. 말이 어렵다. 아래 코드를 실행하면 현재 설치된 php에 대한 다양한 정보를 볼 수 있다.
<?php
phpinfo();
?>
여러분이 위와 같은 코드를 통해서 php에 대한 정보를 출력했다고 해보자. 그럼 이 정보 페이지를 만든 것은 여러분일까? 아닐까? 이 질문에 대해서 생각해보자.
위의 코드를 통해서 여러분이 시스템에게 지시한 것은 아래와 같다. 2행의 phpinfo();를 통해서 php의 현재 상태를 출력하라고 한 것이다.
반면에 시스템에 지시한 적이 없는데 내장 함수인 phpinfo가 자체적으로 가지고 있는 기능들은 아래와 같다.
php의 버전과 같은 정보들
php에 설치된 확장 기능들
위에서 열거한 것처럼 여러분은 단지 phpinfo();를 실행했을 뿐인데 아주 많은 정보가 출력되고 있다. 이 프로그램이 우연히 생길리는 만무하다. 이 페이지는 phpinfo라는 이름의 함수로 이미 만들어져서 준비되어 있는 것이다. 여러분이 이것을 사용할 때는 단지 phpinfo()를 호출하면 되는데 이 함수와 같은 것을 API라고 한다. 사용자가 UI를 이용해서 응용프로그램이 제공하는 기능을 사용하듯이 여러분은 API를 이용해서 플랫폼(여기서는 PHP엔진)이 제공하는 기능을 자신이 만들고 있는 응용 프로그램에서 사용할 수 있게 되는 것이다. phpinfo와 같은 함수를 언어에 기본적으로 내장되어 있다고 내장함수라고도 부른다.
라이브러리
코드를 작성하다보면 자주 사용되는 로직이 있다. 그럼 이 로직을 재활용하고 싶은 마음이 생기기 마련인데, 재활용 가능하도록 만든 로직을 라이브러리(library)라고 한다. 라이브러리는 자기 자신이 사용하기 위해서도 만들 수 있고, 불특정 다수가 사용할 수 있도록 공개할 수도 있다. 라이브러리를 사용하면 필요한 로직을 직접 구현할 필요가 없이 라이브러리에서 제공하는 API를 호출하는 것을 통해서 원하는 기능을 사용할 수 있게 된다.
PHP의 표준 라이브러리 문서
PHP는 웹개발에 필요할만한 수 많은 내장함수를 제공한다. 이 내장함수들은 빠르게 웹에플리케이션을 구축하는데 도움을 주고, 직접 구현하는 것보다 실행속도가 빠르기 때문에 어떤 기능을 구현하기에 앞서서 API가 있는지 찾아보는 것이 바람직하다.
'Programming > php' 카테고리의 다른 글
[php] 디렉토리의 제어 (0) | 2017.09.26 |
---|---|
[php]파일 (0) | 2017.09.26 |
[php] include 와 namespace (0) | 2017.09.26 |
[php] 입출력 그리고 폼과 HTTP (0) | 2017.09.18 |
[php] 비교 (0) | 2017.09.18 |