본문 바로가기

Dev/PHP

(11)
[PHP] Laravel - PayPal 결제 모듈 연동하기 (2) - 백엔드 처리 본 포스팅은 [PHP Laravel - PayPal 결제 모듈 연동하기 (1) - 프런트 엔드 처리에서 이어집니다. 만약 이전 포스팅을 보지 않았다면 먼저 보고 오시는 걸 권장드립니다. 2020/12/30 - [Dev/PHP] - [PHP] Laravel - PayPal 결제 모듈 연동하기 (1) - 프런트엔드 처리 [PHP] Laravel - PayPal 결제 모듈 연동하기 (1) - 프런트엔드 처리 이번 포스팅에서는 Laravel 프로젝트에서 PayPal 결제 모듈 연동하는 방법에 대해 알아보겠습니다. 연동 방법은 매우 다양하게 있지만, 여기서는 화면에서 javascript를 통해 결제 모델을 생성하고 서 dev-overload.tistory.com 이전 포스팅에서 프런트엔드에서 결제 모델 생성, 서..
[PHP] Laravel - PayPal 결제 모듈 연동하기 (1) - 프런트엔드 처리 이번 포스팅에서는 Laravel 프로젝트에서 PayPal 결제 모듈 연동하는 방법에 대해 알아보겠습니다. 연동 방법은 매우 다양하게 있지만, 여기서는 화면에서 javascript를 통해 결제 모델을 생성하고 서버 측에서 capture(결제 승인) 하는 방식을 이용해보도록 하겠습니다. 본 포스팅에서 다루는 방법은 결제 후 결제 정보를 자체 DB에 저장하기 위한 솔루션으로 고안했습니다. (javascript api만으로 결제 진행하는 것도 가능하고 javascript api 없이 서버 스크립트만으로 결제 진행하는 것도 가능합니다.) 1. PayPal 가입 www.paypal.com/kr/webapps/mpp/home 위 링크를 타고 PayPal에 계정을 생성합니다. 사이트 우측 상단에 가입하기 버튼을 누르면..
[PHP] Laravel - 사용자 정의 클래스 본 포스팅은 PHP7.4 / Laravel 8 버전을 기준으로 작성되었습니다. 이번 포스팅에서는 어렵지는 않지만 간과하기 쉬운 사용자 정의 클래스를 생성하는 방법에 대해 알아보겠습니다. Laravel에서 개발을 하다 보면 주로 app\Http\Controllers 경로에서 주로 작업을 많이 하게 됩니다. DB 접속도 Eloquent 덕분에 여기저기 파일을 뒤적이지 않아도 간단하게 처리할 수 있기 때문에 컨트롤러가 많은 처리를 담당하게 됩니다. 이때 컨트롤러가 처리하는 일이 많아질 수록 코드가 복잡해지고 중복되는 함수가 발생할 가능성이 높아집니다. 이러한 이유 때문에 별도의 사용자 정의 클래스가 필요합니다. 본 포스팅에서는 필자가 실무에서 활용하는 파일 관리 구조를 예시로 기술해보도록 하겠습니다. (반드시..
[PHP] Ubuntu - Laravel 프로젝트 Heroku에서 MySQL 사용하기 이번 포스팅에서는 이전에 예고했던 DB를 포함한 Laravel 프로젝트를 Heroku에 배포하는 방법에 대해 알아보겠습니다. 본론에 앞서, 본 포스팅에서는 Laravel 프레임워크에 대한 지식이 있음을 전제합니다. Heroku에서 MySQL을 추가하고 프로젝트의 테이블과 데이터를 삽입하는데 migrate, seed 명령을 사용하는데, 이에 대한 자세한 설명은 포함하지 않으므로 참고해주세요. 또한, 이 포스팅을 참고하기 전에 Heroku 계정 발급 및 애플리케이션 생성 및 프로젝트 배포까지 완료가 되어 있어야 하며, Linux에 Heroku CLI도 설치되어 있어야 합니다. 이에 대한 것은 아래의 링크를 사전에 참고하시면 도움이 됩니다. 2020/10/09 - [Dev/PHP] - [PHP] Ubuntu ..
[PHP] Ubuntu - Laravel 프로젝트 Heroku에 배포하기(DB 없음) 본 포스팅에서는 Laravel 프로젝트를 Heroku에 배포하는 방법에 대해 알아보겠습니다. 본 포스팅은 Ubuntu Linux 사용자를 기준으로 하며, DB를 사용하지 않는 Laravel 프로젝트가 이미 준비되어있다는 것을 전제로 하고 있습니다. (DB를 연동한 Laravel 프로젝트 배포는 차후 다뤄보도록 하겠습니다.) Heroku는 PaaS (Platform as a Service) 클라우드 플랫폼입니다. PaaS는 사용자가 개발하는 애플리케이션을 제외한 서버, 프레임워크, OS 등 모든 부분을 클라우드 상에서 제공해 주는 방식의 서비스를 의미합니다. Heroku에 개인이 개발한 애플리케이션을 업로드하면 프로젝트의 언어, 프레임워크 정보를 알아서 인식, 빌드해서 서비스 배포까지 자동으로 해주는 편리..
[PHP] Laravel - Target class [] does not exist. 문제 해결 본 포스팅에서는 Laravel 프레임 워크를 8 버전으로 작업했을 때 발생한 문제점을 기록합니다. Laravel 8 버전에서만 발생하는 문제점으로 보이며, web.php에서 정의하는 Route 객체에서 Controller 네임스페이스를 찾지 못하는 현상이 발견되었습니다. 이전 버전에서는 컨트롤러의 네임 스페이스 접두사를 자동으로 지정해 주어서 사용자는 컨트롤러를 작성하는 것 외에는 신경 쓸 것이 없었지만, Laravel 8 버전부터는 자동으로 지정해주지 않아서 생기는 문제입니다. 참고로 이전 버전에서 정의하는 Route 정의의 예시는 아래와 같습니다. Route::get('/home','MainController@home'); 이를 해결하기 위한 솔루션은 2가지입니다. 1. web.php에서 컨트롤러 전..
[PHP] Laravel - smtp를 이용한 메일 전송 구현 이번 포스팅에서는 Laravel 프레임워크에서 smtp를 사용해 웹페이지에서 메일을 보내는 기능을 구현해보겠습니다. 구현은 Gmail을 예시로 진행합니다. 1. Gmail IMAP 액세스 허용 구현에 앞서, Gmail 설정 페이지에서 IMAP 액세스를 허용해야 합니다. 아래의 링크로 Gmail 웹 페이지에 접근해주세요. https://mail.google.com/mail/u/0/#inbox Gmail 하나의 계정으로 모든 Google 서비스를 Gmail을 이용하려면 로그인하세요 accounts.google.com 로그인 후, 우측 상단 톱니바퀴 → 모든 설정 보기를 클릭합니다. 그럼 설정 페이지로 이동하게 되는데, 여기서 전달 및 POP/IMAP 항목을 클릭합니다. IMAP 액세스 항목에서 "IMAP 사..
[PHP] Arch Linux에서의 LEMP 스택 + Laravel 개발 환경 설치 매뉴얼 본 포스팅은 Arch Linux에서 LEMP을 스택 구축하기 위한 매뉴얼입니다. LEMP스택은 Linux / (E)Nginx / MySQL / PHP의 약자입니다. (N은 E로 치환해서 부릅니다.) 이전에 Ubuntu Linux 환경에서 LEMP 스택을 구축하는 포스팅을 업로드한 바가 있습니다. Ubuntu에서 LEMP 스택을 구축하실 분은 아래의 포스팅을 참고해주세요. 2020/02/01 - [Dev/PHP] - [PHP] Ubuntu Linux에서의 LEMP 스택 + Laravel 개발 환경 설치 매뉴얼 [PHP] Ubuntu Linux에서의 LEMP 스택 + Laravel 개발 환경 설치 매뉴얼 작성일 기준으로 범용적으로 사용되고 있는 PHP 개발 스택인 LEMP 스택 설치 매뉴얼입니다. LEMP스..