Web/PHP 9

PHP json 변환, 배열 추가, 부분자르기

배열 배열 맨뒤에 추가하기 array_push() $fruitArr = array("orange", "banana"); // 배열 선언하기 array_push($fruitArr, "apple", "watermelon"); //배열 맨뒤에 추가하기 print_r($fruitArr); // 배열 출력 var_dump($fruitArr); // 배열 출력(문자형태, 길이 까지 출력) array_push(배열, 넣을 배열변수명) 으로 사용하면 됩니다. var_dump와 print_r 메서드를 사용하면 배열이 어떻게 구성되어있는지 쉽게 알 수 있습니다. 배열 자르기 array_splice() $fruitArr = array("orange", "banana","apple", "watermelon"); print_r..

Web/PHP 2020.04.29

[라라벨] 소셜라이트 네이버 로그인

Oauth로 구글 로그인에 이어서 네이버 로그인을 해보겠습니다. 1. 설치 컴포저를 사용해서 naver모듈을 먼저 설치해줍시다. 페이스북이나 깃허브 구글과 다르게 네이버는 따로 설치해줘야 합니다. composer require socialiteproviders/naver 2. Service Provider 수정하기 config/app.php 파일 내부의 코드를 약간 수정해줍니다. 아래의 코드처럼 기존의 Laravel\Socialite\SocialiteServiceProvider ::class를 삭제하고 SocialiteProviders\Manager\ServiceProvider::class 를 작성해주세요 'providers' => [ SocialiteProviders\Manager\ServiceProv..

Web/PHP 2020.04.18

[라라벨] 댓글과 대댓글 페이지네이션 구현하기

댓글과 대댓글 DB설계는 각자 상황에 맞게 칼럼을 바꾸거나 추가해서 사용하시길 바랍니다. 댓글과 대댓글 구성은 위의 링크를 참고해주세요. 댓글과 대댓글 구성을 한 후에는 페이지 네이션이 필수라고 생각합니다. 댓글과 대댓글이 한 게시글에 1000개 10000개 그 이상이 되는데 모든 정보를 한 번에 제공하면 처리하는데 속도가 느릴 뿐만 아니라 사용자 역시 모든 댓글 정보를 보고 싶지 않은데 보게 되는 경우가 발생합니다. 이를 위해서 라라벨에서 페이지네이션을 제공하지만 만들고 있는 웹사이트는 프론트와 백이 따로 구성되어있습니다. 제가 맡은 백 부분만 라라벨을 사용하다 보니 라라벨에서 제공하는 블레이드 템플릿을 활용하지 못하게 되어 제가 직접 페이지네이션 구현을 하게 되었습니다. 페이지네이션 구현하기 우선 프..

Web/PHP 2020.04.18

[라라벨] 댓글 대댓글 DB설계하기

댓글, 대댓글 구성을 위한 최소한의 DB설계이니 각자 상황에 맞게 칼럼을 바꾸거나 추가해서 사용하시길 바랍니다. 그 외에 더 좋은 DB구성 방식이 있으시면 댓글로 남겨주세요. 댓글과 대댓글 DB구성 (Heidi SQL프로그램) 테이블 컬럼구성을 보자면 indexComments comment postNum class order groupNum 댓글 인덱스 댓글내용 게시글 번호 계층 댓글과 대댓글 순서 댓글 그룹 칼럼에 대한 설명 댓글 인덱스(indexComments)는 게시글 번호와 상관없이 댓글 혹은 대댓글이 작성되면 auto Increment로 1씩 증가되어 저장됩니다. 댓글 내용(comment) 댓글 내용을 담을 칼럼입니다. 게시글 번호(postNum)는 게시글 번호입니다. 계층(class)은 댓글과..

Web/PHP 2020.04.18

[라라벨] 모델과 마이그레이션

요즘은 어느 사이트는 유저가 있다면 로그인/회원가입이 있다. 유저가 개인정보를 주고 운영하는 사이트들은 그 유저에 대해 권한이 주어지는 부분까지 사이트 내부에서의 특정 행위 들이 허용된다. 이처럼 로그인/회원가입은 사용자들이 개인정보를 입력하고 개인정보를 사이트에서는 저장하고 해당 사용자로 인식하는 수단이다. 라라벨에서도 이에 맞게 라라벨 프레임워크를 설치하는 순간부터 app/User.php(모델)가 생성되어있다. 모델을 따로 만들지않고 예시로 준 User모델에 대해서 파헤쳐보자 모델 /** * The attributes that are mass assignable. * * @var array */ protected $fillable = [ 'name', 'email', 'password' ]; /** ..

Web/PHP 2020.04.11

[라라벨] 소셜라이트로 OAuth 로그인하기

목표 Passport를 활용한 OAuth 사용도 가능하지만 라라벨 소셜라이트-Socialite를 사용하여 OAuth 인증을 간단하고 편리하게 제공합니다. Socialite는 현재 페이스북, 트위터, 링크드인, 구글, 깃허브 그리고 Bitbucket을 기본적으로 지원하고 있습니다. 그 외 다른 소셜 로그인(네이버.. 등)도 지원하고 있습니다. 이 글에서는 구글로그인을 해볼 겁니다. 이 글에선 OAuth에 대해 상세히 설명하고 있지 않습니다. OAuth에 대한 자세한 내용은 https://tansfil.tistory.com/58 , https://bcho.tistory.com/913 에서 잘 다루고 있습니다. 환경 php 7.3, laravel framework 5.5 STEP 1. 구글에 API 등록하기 ..

Web/PHP 2020.04.11

[라라벨] 미들웨어를 통한 CORS 허용하기

목표 CORS를 허용하지 않았다면 same-origin Policy 정책에 근거하여 CORS 문제가 발생합니다. CORS를 허용이 되었는지 확인하다 보면 콘솔 창에서 엄청나게 보게 될 아래의 문구.. 서로 다른 도메인(주소)은 AJAX통신을 하기위해서 CORS(Cross-Origin Resource Sharing) 설정이 필요합니다. 특히 라라벨은 CSRF를 적용되어있어 토큰이 없으면 비동기 통신이 불가능합니다. 하나의 도메인에서 라라벨로 프론트 백엔드 둘 다 작업한다면 라라벨에서 제공해주는 {{ csrf_token() }} 같이 프론트에서 바로 토큰 생성해서 보내줄 수 있겠지만 이 글은 다른 도메인끼리 통신할 때 해결법입니다. 환경 백엔드 : php 7.3, laravel framework 5.5 프론..

Web/PHP 2020.03.26

[라라벨] POST방식 전달

# 라라벨을 사용 중 라우터를 활용한 RESTful API를 적용하기 위해 POST방식으로 전달을 연습 라라벨에서 POST방식 전달 시에는 토큰이 반드시 필요하다! GET POST 방식에 대한 정보 라라벨을 프레임워크로 사용하면서 RESTfulAPI방식을 활용하기 위해서 GET, POST방식을 연습 GET은 보통 읽기위한 정보, 즉 자주 바뀌는 정보같이 게시판 글이나 댓글 같은 것들에 주로 활용하게 된다. 누군가에게 노출되어도 상관없기때문이다. 반면, POST는 주로 쓰기로 어떤 내용이 보이지 않아야 하고 숨겨져야만 하는 정보다. 글쓰기를 작성하기 위한 작성자 개인정보라던지 작성자가 알리지 않고 싶어 하는 정보들을 숨기는데 유용하게 쓸 수 있다 아무튼 라라벨에서 POST방식을 활용하기 위해서 POSTMA..

Web/PHP 2020.03.22

GCP VM Instance(CentOS 7) PHP 라라벨프레임워크 설치하기

# 구글 클라우드 플랫폼을 활용한 VM 내부의 CentOS7 환경에서 설치를 진행 # 환경 : PHP + MariaDB + Apache + CentOS 7 라라벨 프레임워크 설치 아파치, php 같은 것들은 이미 설치되어있다고 가정하겠습니다. 1. 라라벨 프레임워크를 사용하려면 php용 관리 도구 Composer를 설치하기 Composer 다운로드 공식문서 https://getcomposer.org/download/ Command-line installation 하단상자안의 4줄을 복사해서 cmd창에 입력 설치가 끝나면 composer.phar란 파일이 있을겁니다. 전역으로 사용할 것이기 때문에 cmd창에 입력해주세요 mv composer.phar /usr/local/bin/composer 이동이 안되면..

Web/PHP 2020.03.19