본문으로 바로가기

[PHP : Laravel] Route와 View(blade)

category Helloworld!/Laravel 2013. 8. 4. 23:21
아직 블로그에 정리하기엔... 그저 실습을 따라한것이기에 미흡한점이 많다.
사실, route와 view를 공부한 것도 아니고 메뉴얼중 빠른시작(Quick start) 부분을 따라한거라 수박겉핥기도 못한 셈. 
그래도 나같은 왕왕왕초보자들을 위해, 그리고 나중에 까먹고 또 삽질할 왕왕왕 멍청한 날위해
정리해두면 좋을것같아 끄적인다.
참고 사이트 : http://dev.mezeet.com/post/%EB%9D%BC%EB%9D%BC%EB%B2%A8-%ED%80%B5%EC%8A%A4%ED%83%80%ED%8A%B8/
(한글로 Quick start를 정리한 곳이다.)

전에 포스팅한 바와 같이 localhost:8000을 하면 You have arrived라는 페이지를 볼수 있었다.
다음은 localhost:8000/users를 하여 라우터를 만들기 위함이 목표라고 해두고 시작하려한다.
이 포스팅의 끝의 결과물은 다음과 같다.




1. Route
1-1. Route 파일이 위치하는 곳 : app/routes.php
1-2. 예제
Route::get('users', function() { return 'Users!'; });1-3. 결과 물

app/routes.php안에 예제를 추가하고 브라우저에 localhost:8000/users라고 입력하면 위와 같은 결과물을 확인할 수 있다.
이와 같이 Route::get안에 입력한 문자열값이 localhost:8000/here에 들어가는 값임을 알수있다. 또한 return한 값이 바로 페이지에 노출이 된다.
2-1. View 파일을 만들 곳 : app/views
2-2. app/views안에 만들 파일명 이름      
- layout.blade.php     
- users.blade.php
2-3 . layout.blade.php
<html>
<h1>Laravel Quickstart</h1>
@yield('content') </body></html>

2-4. users.blade.php
@extends('layout')
@section('content')
Users!
@stop 
이처럼 view는 blade라고 파일명에 추가하여 사용하며, app/view안에 만들어 실행한다.
layout.blade.php에서는 html로 페이지 모양을 잡고 users.blade.php에는 html로 페이지 모양을 만든 곳에 값을 넘겨주는 역할을 한다.
(전에 회사에서 laravel을 도입하기위해 사전 준비로 이제 부터 짜는 소스는 php 코딩은 최대한 소스코드 위에 작성하고, html사이에 php값을 출력하는 용도 외에 php를 쓰지않도록 하라했는데 이와 같은 이유임을 이제야 짐작한다.
즉, html과 php를 각각의 파일에서 관리한다는 것)
그다음 route를 수정해준다.

2-5. routes.php
Route::get('users', function() {
    return View::make('users');
});

2-6. 결과물
이와 같이 route에서 View:make('users'); 한다는 것은 users.blade.php를 가져와 페이지를 만들어 보여준다는 것을 의미한다. (맞나?)
또다른 예로, 우리가 처음 laravel 설치 후 봤었던 You have arrived페이지가 만들어진 과정(?)laravel 소스코드를 보면 알수있다.
routes.php 파일을 보면 다음과같이 /(root)에 오면 view가 hello라는것을 출력하도록 되어있다.
Route::get('/', function(){
    return View::make('hello');
});

그리고 이 소스코드를 따라, app/views에 가보면 hello.php에서 localhost:8000에 왔을 때 보이는 페이지를 만들어 놓은 html소스코드를 볼수있다.
음? 지금보니 이건왜 blade가 아니지... 개념이 아직 많이부족하다. 조금 더 공부하자!
우선, 오늘 route와 view 는 여기까지-

댓글을 달아 주세요

  1. Favicon of https://88240.tistory.com BlogIcon shaking shaking 신고">2013.08.06 10:04 신고

    회사에 세팅중 : Host 'KimSeHee-PC' is not allowed to connect to this MySQL server가 뜸.
    phpMyAdmin으로 들어가서 SQL입력란에 GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY ''; 입력으로 해결