라라벨

라라벨

    아임포트(Iamport)로 결제기능 구현하기 - 일반결제

    아임포트(Iamport)로 결제기능 구현하기 - 준비 아임포트(Iamport)로 결제기능 구현하기 - 일반결제 이전 포스트에 이어서 라라벨에 아임포트를 연동해보자. 마이그레이션, 모델, 컨트롤러가 준비되었다면 이제 해야 할 일은 아임포트의 개발가이드를 보면서 코드를 구현하는 일 뿐이다. 개발가이드에서 일반결제 부분에 보면 Node.js 를 사용한 구현 방법이 나와있는데, 이를 PHP로 표현하는 것은 어려운 일이 아니다. 장바구니 장바구니에 해당하는 Order 를 만들고(Create), 읽는(Read)코드를 작성해보자. 수정과 삭제는 주제를 벗어나므로 구현하지 않는다. 쓰기 쓰기는 컨트롤러에서 OrderController::create(), OrderController::store() 에서 진행한다. Or..

    아임포트(Iamport)로 결제기능 구현하기 - 준비

    아임포트(Iamport)로 결제기능 구현하기 - 준비 아임포트(Iamport)로 결제기능 구현하기 - 일반결제 이번에 국내 서비스용 결제와 관련된 기능을 구현해보면서 사용해본 것이 아임포트(I'mport)다. 라라벨에는 물론 결제를 위한 Laravel Cashier 라는 패키지가 존재하고, Stripe, Paddle 과 연동할 수 있으나 국내 서비스에는 그다지 친화적이지 않은 측면이 있다. 따라서 구축하기도 쉽고 국내 서비스에 친화적인 아임포트를 사용해보기로 했다. 또 다른 국내 친화적인 서비스로는 Payple 이 있는데, 나중에 기회가 되면 써보기로 하자. 아임포트는 개발자 친화적으로 문서화가 되어있어서 개발자의 입장에서 볼 때 결제를 구현하기 상당히 수월하게 되어있다. 대표적으로 일반결제, 정기결제,..

    [Laravel] 카페24 호스팅에 라라벨 프로젝트 배포하기

    이번 포스팅은 최신기술과는 거리가 멀다. 하지만, 여전히 시장에서는 카페24와 같은 웹호스팅 서비스를 사용하여 서비스를 배포하는 일이 자주 발생하는 만큼, 누군가에게 이 글은 도움이 되리라 생각한다. 나도 내 의지와는 상관없이 카페24에서 프로젝트를 할 일이 생긴데다가, 어떻게하면 카페24 환경에 라라벨 프로젝트를 간편하게 배포할 수 있을까 고민해본 결과 몇가지 가능성에 도달했다. 과거에 카페24를 사용하여 프로젝트를 진행했던 것은 레거시가 대부분이었기 때문에 그냥 아날로그식으로 FTP 를 연결해서 파일을 배포하면 그만이었다만, 라라벨을 할 때는 차마 그러고 싶지 않았다. 이제는 그러한 배포방식에서 벗어나야만 한다. 라라벨 프로젝트를 배포하는 것은 Laravel Envoyer, Laravel Forge ..

    [Laravel] 라라벨 데이터베이스와 모델 (쿼리빌더, 옐로퀸트)

    라라벨에서 쿼리를 작성하는 방법은 간단하다. 레거시 PHP 에서 쿼리를 작성하는 방법은 PDO(PHP Data Object)를 사용하더라도 그다지 보기 좋은 것은 아니었다. 예를 들자면, $pdo = new PDO(...); $sth = $pdo->prepare("SELECT * FROM users"); if ($sth->execute()) { $users = []; while ($user = $sth->fetchObject()) { array_push($users, $user); } } 이렇게 생긴 기존의 레거시 코드(mysqli, mysql 과 같은 더 low Level API 를 사용하면 보기가 안 좋아진다.)를 라라벨의 쿼리빌더를 다음과 같이 간단하게 표현할 수 있다. $users = DB::ta..

    [Laravel] 라라벨 블레이드 템플릿 (상속, 컴포넌트, 슬릇)

    이번에는 블레이드 템플릿에서 상속, 컴포넌트, 뷰 컴포저에 대해 간단히 알아보도록 하자. 블레이드에는 여러 지시어(Directive)가 존재하는데, 상속, 컴포넌트, 슬릇 기능 등은 많이 쓰이는 기능이다. 따라서 이를 대표적으로 알아보자. 지시어의 수가 다소 많은터라 나도 다 알지 못한다. 상속 상속과 관련된 지시어는 @extends, @yield, @section, @show, @stack 이 존재한다. 자바스크립트 템플릿을 사용하듯 블레이드를 사용해서도 템플릿을 상속하고, 다른 템플릿을 포함시킬 수 있는 기능을 가지고 있다. 즉, 템플릿을 기준에 따라 분리가 가능하다는 이야기다. 다만, 다소 헷갈리는 기능들이 많기 때문에 차이점을 알아두면 좋다. @extends @extends 는 자식 템플릿이 특정..