일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Spring Boot
- javascript
- ReactJS
- redis
- java
- elasticsearch
- php
- Spring Batch
- IntelliJ
- jenkins
- springboot
- 맛집
- Oracle
- 요리
- devops
- Git
- db
- AWS
- MySQL
- ubuntu
- JVM
- Web Server
- linux
- it
- laravel
- jsp
- tool
- Spring
- Gradle
- Design Patterns
- Today
- Total
아무거나
뷰 생성(blade) 및 데이터 표시(템플릿 엔진 활용방법) 본문
* 뷰 생성 과정(resource/views)
----------------------------------------------------------------------------------------------------
- master 레이아웃 view 파일을 생성(layouts/master.blade.php)
- 각각의 페이지에 관련된 view 파일을 만들자
# {pageName}/index.blade.php
# {pageName}/create.blade.php
# {pageName}/show.blade.php
# {pageName}/edit.blade.php
- @extends('view이름') : 해당 view를 확장하는 방법으로 view를 구성
- @section('section 이름') @stop : 선언된 section 영역을 채우는 시작과 끝을 정한다.
- 반복문..
- 블래이드 예제소스
// 폴더구조
// views/layouts/master.blade.php
[소스]
<html>
<head>
<title>Laravel</title>
.....
....
</head>
<body>
<div class="container">
@yield('content')
</div>
</body>
</html>
// views/post/index.blade.php
[소스]
@extends('layouts.master')
@section('content')
<h1>All Posts</h1>
<ul class="list-group">
@foreach($posts as $post)
<li class="list-group-item">
<a href="{{ route("post.show", $post->id) }}">{{ $post->title }}</a>
</li>
@endforeach
</ul>
{{--{!! $posts->render() !!}--}}
<h3>
<a href="{{ route('post.create') }}" class="btn btn-primary">글 작성하기</a>
</h3>
@stop
----------------------------------------------------------------------------------------------------
1. php artisan make:controller site/MainController 로 메인컨트롤러 생성
2. resources/view 에 view생성 ex) main.blade.php 를 생성
[예제소스]
<!DOCTYPE>
<html>
<head>
<title>라라벨테스트</title>
</head>
<body>
<form method="post" action="/todo">
<label>테스트</label>
<input type="text" name="title">
<input type="submit">
</form>
</body>
</html>
3. submit을 하면 TokenMismatchException 에러가 표시된다. 왜냐하면 laravel은 기본적으로 크로스사이트요청 위조를 방지하기 위해서
자체적으로 토큰을 쓴다 그러므로 모든 post로 날리는것은 token을 포함시켜줘야 한다.
- <input type="hidden" name="_token" value="{{ csrf_token() }}">
4. Request로 이용하여 TodoController 에서 store 메서드로 넘어온 값들을 확인하자
[소스]
public function store(Request $request) {
dd($request->all());
}
// 그럼 아래와 같이 표시된다.
array:2 [▼
"_token" => "CMZo23bKjfi6xMID0PZo2oqQ9mU0rTEvCbQ342PZ"
"title" => "456"
]
5. Request 다른 방법(laravel4 부터 이 방법을 밀어주는듯..)
- Request 파사드를 사용한다
[소스내용]
use Request;
public function store(Request $request) {
dd($request::all());
}
'PHP > Laravel' 카테고리의 다른 글
validator(유효성검증) (0) | 2019.04.04 |
---|---|
옐로퀀트ORM 활용 (0) | 2019.04.04 |
마이그레이션 (0) | 2019.04.03 |
XSS 적용 방법 (0) | 2019.04.03 |
laravel 설치 php7.1+homestead (0) | 2019.03.28 |