Laravel은 Taylor Otwell이 만든 무료 오픈 소스 PHP 웹 프레임 워크로 MVC (Model – View-Controller) 아키텍처 패턴에 따라 웹 애플리케이션을 개발하고 Symfony를 기반으로합니다. Laravel의 기능 중 일부는 전용 종속성 관리자가있는 모듈 식 포장 시스템, 관계형 데이터베이스에 액세스하는 다양한 방법, 응용 프로그램 배포 및 유지 보수를 지원하는 유틸리티 및 구문 설탕 방향에 대한 방향입니다.
모델 구성 요소는 사용자와 함께 작동하는 모든 데이터 관련 논리에 해당합니다. 이는보기와 컨트롤러 구성 요소 사이에 전송되는 데이터 또는 기타 비즈니스 로직 관련 데이터를 나타낼 수 있습니다.
폴더 : app/
보기 구성 요소는 응용 프로그램의 모든 UI 논리에 사용됩니다.
폴더 : 리소스/뷰
컨트롤러는 모델과 뷰 구성 요소 간의 인터페이스 역할을하여 모든 비즈니스 로직 및 들어오는 요청을 처리하고 모델 구성 요소를 사용하여 데이터를 조작하며 뷰와 상호 작용하여 최종 출력을 렌더링합니다.
폴더 : app/http/컨트롤러
이 프로젝트의 요구 사항 :
"php": "^7.1.3",
"laravel/framework": "5.7.*",
Laravel 설정 :
Install PHP 7.1.3
Instal MySQL
Install Composer
공급 업체 폴더 업데이트 :
composer update
or
composer install
프로젝트를 만들려면 CMD에 입력하십시오.
composer global require "laravel/installer"
laravel new blogname
Laravel에서 사용 가능한 명령 또는 참조를 확인하십시오
php artisan list
php artisan help [command name]
ex. php artisan help make:model
라 라벨을 실행하십시오
php artisan serve
or
in browser http://localhost/laravel/magelaravel/public/
.env의 설정 데이터베이스
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homested
DB_USERNAME=homestead
DB_PASSWORD=secret
설정 인증 (선택 사항) :
php artisan make:auth
설정 데이터베이스 구성
php artisan migrate
php artisan migrate:refresh //if you want to change laravel model
테스트 목적을위한 이메일 설정
MAIL_DRIVER=log
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
or
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
[email protected]
MAIL_PASSWORD=mageCE0721
MAIL_ENCRYPTION=tls
웹 사이트 경로를 관리하려면 HomeController를 설정합니다. 앱/http/컨트롤러/homecontroller.php
public function index()
{
$post = Post::all();
return view( 'index' , ['post' => $post ]);
}
public function detail(Request $request)
{
$post = Post::find($request->post);
return view('detail' , ['post' => $post ]);
}
public function home()
{
$post = Post::all();
return view( 'home' , ['post' => $post ]);
}
public function edit(Request $request)
{
$post = Post::find($request->idpost);
return view( 'edit' , ['post' => $post ]);
}
포스트 용 모델, 컨트롤러, 마이그레이션을 만듭니다
php artisan make:controller PostController
php artisan make:model Post
php artisan make:migration create_post_table --create=posts
or
php artisan make:model Post -mc
CRUD 만들기 (읽기 업데이트 삭제)를 작성하고 모든 것을 postcontroller.php에 넣어 데이터 관리 앱/http/controllers/postcontroller.php를 제어하십시오.
public function create(Request $request)
{
// Validate the request...
$request->validate([
'title' => 'required',
'content' => 'required',
]);
$post = new Post;
$post->title = $request->title;
$post->content = $request->content;
$post->username = auth()->user()->name;//auth()->id()
$post->save();
return back();
}
public function update(Request $request)
{
// Validate the request...
$request->validate([
'title' => 'required',
'content' => 'required',
]);
$post = Post::find($request->idpost);
$post->title = $request->title;
$post->content = $request->content;
$post->save();
return redirect('/home');
}
public function delete(Request $request)
{
$post = Post::find($request->idpost);
$post->delete();
return back();
}
컨트롤러를 사용하려면 Routes/Web.php에 넣으려면 코드를 Routes/Web.php에 직접 넣을 수 있지만 앱/http/컨트롤러에 포함시켜 코드를보다 구성 할 수 있도록하는 것이 좋습니다.
Route::get('/', 'HomeController@index');
Route::get('/detail/{post}', 'HomeController@detail');
Auth::routes();
Route::get('/home', 'HomeController@home')->name('home');
Route::get('/home/edit/{idpost}', 'HomeController@edit');
Route::post('/post/create', 'PostController@create');
Route::post('/post/update/{idpost}', 'PostController@update');
Route::get('/post/delete/{idpost}', 'PostController@delete');
블레이드 템플릿으로 웹 사이트보기를 관리하십시오. 블레이드 템플릿을 사용하면 HTML 페이지를 더 쉽게 만들 수 있습니다. 예:
@extends('layouts.app')
@section('content')
<div class="container">
<div class="row">
<div class="col-md-8">
@foreach ($post as $p)
<p>
<h4><a href="/detail/{{$p->id}}">{{ $p->title }}</a></h4>
{{ $p->created_at->toFormattedDateString() }} <span style="float:right">Author : {{ $p->username }}</span>
</p>
@endforeach
</div>
</div>
</div>
@endsection
Laravel에는 데이터베이스를 제어하는 두 가지 방법이 있습니다. 쿼리 빌더와 웅변. Laravel은 데이터베이스 관리를보다 쉽게 만들기 위해 Eloquent가 생성됩니다.
Get Data Example with Query Bulider
DB::table('users')->get();
DB::table('users')->where('name', 'John')->first();
Get Data Example with Eloquent
AppFlight::all();
AppFlight::where('active', 1)->orderBy('name', 'desc')->take(10)->get();
Laravel을 사용하는 기본의 일부. 이 프로젝트를 참조 할 수 있습니다. 기본 Laravel의 작동 방식을 확인하려면이 프로젝트를 자신의 컴퓨터에서 실행하십시오.