안녕하세요 이번엔 뷰(블레이드 템플릿)에 대해 알아보도록 하겠습니다.

뷰는 디폴트로 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 요청을 강제로 보내도록 하는 것이다. 이것은 공격자가 취약한 애플리케이션이 피해자로부터의 정당한 요청이라고 오해할 수 있는 요청들을 강제로 만들 수 있다.

 

 

+ Recent posts