VS 에서의 편리한 라이브러리 다운
( Laravel blade spacer , Laravel goto view , Laravel extra intellisense
php intelephense , getter and setter generator , Lavabel blade snippets
bracket pair colorizer , korea (한글판) , )
<<<<< 중요
요청받음 -> Laravel 에서의 미들웨어(코드)를 거침 -> route(web,api php 등 )에서 요청처리코드 가 mapping 됨 -> 응답을 html로 전송
미들웨어 - 사전에 처리해줌 (사용자인증 등을 해줌)
- 로그인 하지 않거나 회원이 아니면 route에 도달하기전에 걸러줌
route - Controllen class 에서 메소드를 정리 및 수정함 . 이후 View를 반환함
- View 생성하기위해 대응되는 php파일을 실행하여 html을 동적으로 생성
- 이후 html(결과)을 유저에게 전송
- 동적으로 만들기위해 사용하는 것이 blade template engine
문법들은 @로 시작함,
http는 요청할때마다 연결
- 돌아가는 원리 -
즉 , 사용자는 (로그인 처리 등) 매번 요청을 해야 함..
그 정보들은 서버의 메모리 공간(session) 에 할당 저장
모든 사용자들의 정보를 각각 따로따로 저장.
세션마다 Unique key가 있다. key를 알면 값을 알 수 있듯이
세션의 key를 응답에 실어서 쿠키로 보낸다 (클라이언트 local쪽에)
이후 웹브라우저에서 받은 키를 자동으로 서버에 보낸다
그걸 받은 서버에서 그 키에 해당하는 값을 대응하여 '로그인한 사용자네' 하고 바로 넘어간다. ( 자동 로그인 , 중복 제거 등 )
>>>>>>
웹 서버의 중요한 파일들은 VS의 public에 있음
index.php에서 laravel 시작점
터미널 명령어 : Ctrl + c 하면 다시 명령어창 (기존 사용을 죽임)
: php artisan serve --port=9090 ( 9090으로 변경하여 연동, 일시적)
: php artisan help (명령어 도움창)
( https://laravel.com/docs/8.x/structure#the-app-directory
에서도 찾을 수 있음 )
: php artisan make:controller TestController
( app-Http-Controllers에서 TestController 파일 생성 )
: php artisan route:list (route 들의 list를 출력)
web.php 에서의
1) mapping 시키는 것 function으로 사용하는 법
Route::get('/test2', function () {
return view('test.index');
});
= get 방식 요청이 오면 function으로 view(전역함수)를 리턴하여 실행
resources-views-test폴더의 index.blade.php로 이동
= view 폴더 밑에 index.balde.php 폴더를 생성되어야 함
-> http://127.0.0.1:8000/test2 실행시 test 폴더안의 index.blade.php가 실행됨.
2) mapping 시키는 것 Controllers
app-Http-TestController.php 에서
public function index() {
$name = "일지매";
$age = 23;
return view('test.show', compact ('name', 'age'));
}
= views 에서 test폴더의 show.blade.php에 해당하는 name,age 변수를 실행
Route::get('/test5',[TestController::class, 'index']);
= 8000/test5를 실행하면 TestController의 index함수 실행
;;;;;; 결국 돌아가는 원리는 routes-web.php 에서
1) Route::get('/~~~') ~~~ 로 <실행>
2) ('/~~~')에 해당하는 파일에서 함수 등의 <기능 추가>
*모든 파일은 각각 저장을 따로 해야 됨
등록 - 등록폼 , DB에 등록
-> 등록해주세요 요청 (프론트)
-> DB에 등록하고 데이터를 전송 (백엔드)
PostController (게시글)
1) create (생성) -> View로 연결시켜서 만들어야 함 =return view('posts.create')
2) store (등록)
3) edit (수정) -> view('posts.edit');
1) http에서 localhost/8000/posts/create 요청이 오면 post.create 메소드를 실행하여
posts.create 결과값이 반환되도록
result
html하고 Tab 하면 자동생성
testfrom+input+ -> +하면됨
부트스트랩 = CSS 를 통해 깔끔하게 디자인 해줌
'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) (0) | 2021.08.26 |