【laravel 입문】 루트, 컨트롤러, 템플릿 엔진의 기본 정리
Route
루트는 사용자로부터의 요청을 수신하여 컨트롤러에 전달하는 역할과 (컨트롤러에 대해서는 후술), 컨트롤러로부터 수신한 정보를 사용자에게 반환하는 역할을 담당한다. 이른바 중개인.
소개 루트에 어떤 정보가 전달되고 브라우저에 어떤 정보가 표시되는지 본다.
테스트 1
route.phpRoute::get('hello',function(){
return '<html><body><h1>hello world</h1></body></html>';
});
테스트 2
resources/views/hello.php
를 이하의 내용으로 작성
hello.php<html>
<head>
<title>Sample</title>
</head>
<body>
<h1>hello world</h1>
<p><?php echo $message; ?></p>
</body>
</htm>
route.php
를 다음과 같이 편집
route.phpRoute::get('/hello', function () {
return view('hello', ['message' => 'hello!']);
});
결과
여기까지 이해
GET 메소드 중에는 사용자가 입력한 주소와 그에 따른 메소드가 쓰여져 있다. 예를 들어 /hello
에 액세스할 때 functuion()
가 실행되는 경우.function()
는 직접 html 문을 반환하거나 view 함수에서 다른 php 파일을 참조하여 반환 할 수 있습니다.
컨트롤러
컨트롤러란, 루트로부터 수신한 정보를 모델에 처리를 부탁하는 역할과, 모델로부터 수신한 정보를 뷰에 표시하는 역할이 있다.
컨트롤러는 $ php artisan make:controller [コントローラー名]
로 작성할 수 있다.
테스트 3
Route::get('hello',function(){
return '<html><body><h1>hello world</h1></body></html>';
});
<html>
<head>
<title>Sample</title>
</head>
<body>
<h1>hello world</h1>
<p><?php echo $message; ?></p>
</body>
</htm>
Route::get('/hello', function () {
return view('hello', ['message' => 'hello!']);
});
컨트롤러란, 루트로부터 수신한 정보를 모델에 처리를 부탁하는 역할과, 모델로부터 수신한 정보를 뷰에 표시하는 역할이 있다.
컨트롤러는
$ php artisan make:controller [コントローラー名]
로 작성할 수 있다.테스트 3
route.php
Route::get('hello','Hello_Controller@getIndex');
[コントローラー名@メソッド名]
에서 컨트롤러의 메소드에 액세스할 수 있습니다.$ php artisan make:controller Hello_Contoroller
Hello_Contoroller.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class Hello_Controller extends Controller
{
public function getIndex()
{
return view('hello');
}
}
클래스는 자동 생성될 것이므로, 메소드만 추가.
getIndex 메소드로,
hello.php
의 파일명을 인수로 하는 view 함수를 돌려준다.hello.php
그럼, <p>
태그 안에서 $message
, 오류가 발생합니다.그 때문에, 이 부분을
<p>hello controler</p>
정도로 해 둔다. 결과
템플릿
아래의 layout.blade.php는 템플릿 파일입니다.
layout.blade.php
<!DOCTYPE HTML>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>@yield('title')</title>
</head>
<body>
@section('sidebar')
<div class="container">
@yield('content')
</div>
</body>
</html>
child.php
@extends('layout')
@section('title', 'Page Title')
@section('sidebar')
<p>ここはメインのサイドバーに追加される</p>
@endsection
@section('content')
<p>ここが本文</p>
@endsection
@extend('layout')
는 layout.blade.php
를 상속하는 것을 나타낸다. @yield
부분에 하위 파일의 @section
~ @endsection
내의 설명이 삽입된다. 결과
Reference
이 문제에 관하여(【laravel 입문】 루트, 컨트롤러, 템플릿 엔진의 기본 정리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/awannavuamaaan/items/03a187b233db7d30eced텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)