본문 바로가기

PHP

(6)
composer (6) 추천 패키지 소개 추천 패키지 소개 실제로 프로젝트에 도입해서 도움을 받았던 패키지들을 소개한다. 처음 composer 를 사용하게 되면 방대한 패키지들 사이에서 뭘 써야 할지 난감해지기 십상인데, 이 패키지 소개가 도움이 되길 바란다. https://packagist.org/packages/akrabat/ip-address-middleware akrabat/ip-address-middleware - Packagist README PSR-15 Middleware that determines the client IP address and stores it as an ServerRequest attribute called ip_address. It optionally checks various common proxy head..
composer (5) composer.json composer.lock 은 자동으로 관리되는 파일이므로 열어 볼 일이 많지 않지만, composer.json 은 직접 편집하고 설정하는 곳이므로 실질적으로 composer 관리의 핵심이라고 할 수 있다. IDE를 사용하면 알아서 잘 설치하고 의존성을 만들어주기도 하지만, 기본적인 내용을 알고 있어야 관리가 가능하므로 이번엔 composer.json 에 대해 필수적으로 알아야 하는 부분만을 짚고 넘어간다. 자세한 설정을 원하면 공식문서나 다른 글을 찾아 보기를 바란다. 이런저런 설정들이 있지만 생략하고, 중요한 부분은 다음과 같다. { # 여기에 설치할 의존성 패키지들의 이름과 버전이 명시된다. "require": { "pda/pheanstalk": "^3.1", "league/flysystem": "^..
composer (4) 자주 사용하는 커맨드 와 composer.json, composer.lock composer 운용에 있어 자주 사용하게 될 몇개의 커맨드와 가장 중요한 두 개의 파일인 composer.json , composer.lock 에 대해 꼭 알아야 될 부분을 짚고 넘어가자. 일상적인 작업에서는 이 범위 이상을 넘어가는 일이 많지 않을 것이다. composer.json / composer.lock composer.json 은 패키지명, 라이센스, 제작자 정보 등등의 기본 정보부터 어떤 의존성 패키지를 어느 버전으로 설치할 지, 프로젝트의 PSR-4 Autloading 을 어떻게 설정할 지, composer 를 사용하여 실행할 커맨드, packgist 이외에 어떤 추가 저장소가 더 사용되는지 등을 json 형식으로 기록해 놓는 파일이다. 수동으로 편집하고 적용할 수 있다. (Autoload..
composer (3) 첫 사용 composer를 쓰는 대부분의 이유는 외부의 라이브러리들을 가져와서 잘 관리하고 잘 사용하기 위함이다. composer 를 사용하기 위한 간단한 프로젝트를 구성해 보자. 실전에서도 다음과 같은 절차가 비슷하게 사용된다. 우선 나의 프로젝트에 해당하는 파일을 하나 만들어 본다. 어떤 프로젝트라도 첫 실행 진입점이 필요하므로 여기서도 index.php 를 만들어 보겠다.
composer (2) 설치 PHP가 설치되어 있지 않으면 PHP를 설치하고 - 가급적 최신 안정화 버전을 사용하자. 이 글을 쓰는 시점에서는 PHP7.4 가 이에 해당된다 - composer 를 설치하자. 설치는 매우 간단하다. 우선 공식 홈페이지의 다운로드페이지 https://getcomposer.org/download/ 로 이동하자. 윈도우즈에서는 이 페이지에서 인스톨러를 제공하니 곧바로 설치가 가능하다. Download and run Composer-Setup.exe - it will install the latest composer version whenever it is executed. 리눅스 계열은 다운로드 페이지의 Command-line installation 안내글을 그대로 따라한다. 커맨드를 한줄 한줄 실행하면 ..
composer (1) 기본개념 composer 를 도입하고 사용하는데 꼭 필요한 부분만을 나름 정리해서 쉽게 풀어 써 보았다. 혹시 필요하신 분들이 있으면 조금이나마 도움이 되었으면 좋겠다. '의존성 관리'가 무엇이고 왜 필요할까? 오래전에는 코딩을 하다가 개발 언어가 기본적으로 지원하지 않거나, 기본적인 내용을 합쳐서 새로운 기능을 구현해야 한다거나 하는 상황을 만나게 되면 두 가지 방법 이외에는 없었다. 구글링을 통해 직접 오랜 시간을 들여 구현하거나, 남이 구현한 것을 어떻게든 찾아서 접붙이기(...)를 하거나. 운 좋게 소스코드를 찾더라도, 내 코드랑 접붙이는 것 또한 난감한 경우도 많았다. 시간은 얼마 없는데, 기능을 구현하자니 막막하고.. 언제부터인가 사람들이 필요할만한 - 대부분 필요한 것들이 다 비슷비슷했기 때문에 - ..