안녕하세요 이번엔 뷰(블레이드 템플릿)에 대해 알아보도록 하겠습니다.
뷰는 디폴트로 resources/views에서 관리하고 있습니다.
라라 벨에서는 특수 템플릿이 있으며, blade의 확장자를 붙여 사용 가능합니다.
예를 들어보겠습니다.
test.blade.php
// test.blade.php
<html>
<head></head>
<body></body>
</html>
blade들 사용함으로써 사용 가능한 기능들에 대해 알아보도록 하겠습니다.
{{ }}
{{}} 를 사용하여 php 변수들을 바로바로 사용 가능합니다.
// test.blade.php
<html>
<head></head>
<body>
{{ $data="테스트" }}
{{ $data }}
</body>
</html>
레이아웃
@extends
@section
@yield
을 이용하여 레이아웃을 정의하거나 확장할 수 있습니다.
<head>
<title>@yield('title')</title>
</head>
<body>
@section('navigation')
navigation
@show
</body
반복문
foreach
{{ $data = [1,2,3,4,5] }}
@foreach($data as $index => $value)
{{ $index}}:{{ $value }}
@endforeach
for
@for($i=1; $i<=10; $i++)
{{ $i }}
@endfor
switch
@switch($number)
@case(1)
일
@break
@case(2)
이
@break
@default
다른숫자
@endswitch
@붙여 매우 간단히 foreach, for switch 구문을 사용할 수 있습니다.
조건문
@if($data == 1)
하나
@elseif($data == 2)
둘
@else
다른 숫자
@endif
조건문은 if문을 사용할 수 있으며,
반복문과 마찬가지로 @를 붙여 사용할수 있습니다.
CSRF
라라 벨에서 특수한 경우가 있는데, form를 이용하여 post를 할 경우엔 CSRF를 붙여주시는 게 좋습니다.
<form method="POST" action="/post">
@csrf
</form>
blade의 @csrf를 이용하여 사용 가능합니다.
별도의 설정 없이 post를 할 경우 @csrf를 사용하지 않는 경우에는 에러가 발생합니다.
CSRF에 대해서는 위키피디아를 참고하였습니다.
Cross-Site Request Forgery (CSRF) (크로스 사이트 요청 변조) CSRF공격은 로그온 된 피해자의 취약한 웹 애플리케이션에 피해자의 세션 쿠키와 기타 다른 인증정보를 자동으로 포함하여 위조된 HTTP 요청을 강제로 보내도록 하는 것이다. 이것은 공격자가 취약한 애플리케이션이 피해자로부터의 정당한 요청이라고 오해할 수 있는 요청들을 강제로 만들 수 있다.
'IT' 카테고리의 다른 글
인터페이스&추상클래스 (0) | 2019.05.16 |
---|---|
HTTP헤더 인젝션 (0) | 2019.05.15 |
[laravel 기초공부] 라라벨 - 05 (데이터베이스 - 기본) (0) | 2019.05.09 |
[laravel 기초공부] 라라벨 - 04 (라우팅 미들웨어) (0) | 2019.05.08 |
[laravel 기초공부] 라라벨 - 03 (서비스 프로바이더 파사드) (0) | 2019.05.07 |