웹 기반 개발
FrameWork (라라벨) 기반 = PHP
요청 -> 처리 -> DB에서 결과전송(html)
백엔드 : View를 사용하여 html 및 JavaScript 도 동적으로 만들어준다.
(서버단) : CSS 및 CSSFramework 를 사용하여 이쁘게 디자인하여준다. (부트스트랩
: Data(JSON)만 프론트단에 줄 수도있다
라라벨 사용시에도 nodejs 사용
웹 브라우저에 전송시에 npm를 사용하여 컴파일하여 보냄
php에서 compose를 사용하여 필요한 라이브러리를 다운 및 사용
게시판 작성시 user와 게시판 테이블 2개 생성 (mapping carinality)
1 : N (유저하나에 게시글여러개)
-> N쪽에 Forienkey 생성
N : N 일경우 테이블 하나 더 생성(pivot table) -- 추천 비추천 등
=============================================================
< timestamp = 자동생성 >
-title(varchar) id(int) content(text) user_id < created_at update_at >
image(파일시스템에 저장,path)
- 사용자 테이블(user) 따로 ( name, id,email,password )
- comments(댓글) 테이블 ( id, post_id, post-id user_id content )
- user테이블의 id를 참조한다 = user_id
-
- forienkey (참조할 수 있는 기본키가 있어야함)
= user가 탈퇴하면 user가 작성한 게시글 등이 존재할 수 가 없음
= 같이 죽어야함 (soft delete 등 )
============================================================
설치순서 : php -> composer -> lavabel -> 아파치(따로 설치는 아직 안함)
*Lavabel 폴더 안에 php가 설치되어있음.
php (Laravel)
-어느 환경에서 적용하려면 path 설정 하면됨
- 환경 변수 설정에 들어가서 path 에서 php 설치된 주소를 복사하여 추가후 적용
( ~~~~.php) 로 주소를 준다
composer
- php 의 의존성 관리 (필요한 것을 다운받아줌 = 라이브러리 )
laravel ( https://laravel.kr/ )
-composer global require laravel/installer (설치)
laravel new example-app (폴더이름)
- C:\php-8.0.7-Win32-vs16-x64 로 이동하여 여기서 생성
-폴더이름 생성시 , php 파일에 extension=fileinfo 에서 앞에 ; 를 삭제하고 생성
cd example-app (이동)
php artisan serve (php연동)
- 내장 웹서버 실행시킨다
- 명령어 실행시 주소값 (http://127.0.0.1:8000) 나옴 , 웹서버에 이동
- php에 내장된 개발 서버를 사용하여 APP 구동 가능 !
아파치
-웹 단의 요청을 처리해주는 서버
( 아직 개발하는 단계이므로 lavabel에 내장된 서버로 운영함 )
* VS로 불러오려면 post-app 폴더를 불러오면 됨
Visual Stiduio Code
- 터미널을 연다
- 내장하는 웹서버 띄운다. (artisan 자주 사용)
artisan = 자동으로 여러 클래스들을 만들어준다.
여기서 php artisan serve 등 명령어를 실행하여 동작시켜준다,
'PHP' 카테고리의 다른 글
$GET $POST 방식 (0) | 2022.03.14 |
---|---|
PHP 데이터 삽입 오류 You have an error in your SQL syntax; check the manual that corresponds to your MySQL (0) | 2022.03.13 |
mysqli_stmt_bind_param(): Number of elements in type definition string doesn't match number o 에러 해결법 (0) | 2022.03.12 |
[PHP] Laravel 을 이용한 게시판 만들기 (0) | 2022.03.08 |
php(Laravel)2 (0) | 2021.08.27 |