Laravel adalah kerangka kerja Web PHP open-source gratis, yang dibuat oleh Taylor Otwell dan dimaksudkan untuk pengembangan aplikasi web yang mengikuti pola arsitektur model-view-controller (MVC) dan berdasarkan simfoni. Beberapa fitur Laravel adalah sistem pengemasan modular dengan manajer ketergantungan khusus, berbagai cara untuk mengakses basis data relasional, utilitas yang membantu dalam penyebaran dan pemeliharaan aplikasi, dan orientasinya terhadap gula sintaksis.
Komponen model sesuai dengan semua logika terkait data yang bekerja dengan pengguna. Ini dapat mewakili data yang sedang ditransfer antara komponen tampilan dan pengontrol atau data terkait logika bisnis lainnya.
Folder: Aplikasi/
Komponen tampilan digunakan untuk semua logika UI aplikasi.
Folder: Sumber Daya/Tampilan
Pengontrol bertindak sebagai antarmuka antara model dan komponen tampilan untuk memproses semua logika bisnis dan permintaan yang masuk, memanipulasi data menggunakan komponen model dan berinteraksi dengan tampilan untuk membuat output akhir.
Folder: App/http/controller
Persyaratan untuk proyek ini:
"php": "^7.1.3",
"laravel/framework": "5.7.*",
Pengaturan Laravel:
Install PHP 7.1.3
Instal MySQL
Install Composer
Perbarui folder vendor:
composer update
or
composer install
Ketik CMD untuk membuat proyek:
composer global require "laravel/installer"
laravel new blogname
Periksa perintah atau referensi yang tersedia di Laravel
php artisan list
php artisan help [command name]
ex. php artisan help make:model
Jalankan Laravel
php artisan serve
or
in browser http://localhost/laravel/magelaravel/public/
Pengaturan database di .env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homested
DB_USERNAME=homestead
DB_PASSWORD=secret
Pengaturan Otentikasi (Opsional):
php artisan make:auth
Pengaturan Konfigurasi Basis Data
php artisan migrate
php artisan migrate:refresh //if you want to change laravel model
Siapkan email untuk tujuan pengujian
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
Siapkan HomeController untuk mengelola rute situs web. App/http/controllers/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 ]);
}
Buat model, pengontrol, migrasi untuk postingan
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
Buat crud (buat baca pembaruan hapus) dan masukkan semuanya ke postcontroller.php untuk mengontrol aplikasi manajemen data/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();
}
Untuk menggunakan controller, masukkan ke dalam rute/web.php, Anda dapat langsung memasukkan kode Anda ke dalam rute/web.php tetapi lebih disarankan untuk meletakkannya di aplikasi/http/controller untuk membuat kode Anda lebih berorganisasi
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');
Kelola tampilan situs web dengan Template Blade. Menggunakan templat blade membuat membuat halaman html lebih mudah. Contoh:
@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
Di Laravel, ada dua cara untuk mengontrol database. Dengan pembangun kueri dan fasih. Fasih dibuat oleh Laravel untuk membuat database mengelola lebih mudah
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();
Bahwa beberapa dasar menggunakan Laravel. Anda dapat menggunakan proyek ini untuk referensi. Jalankan proyek ini di komputer Anda sendiri untuk melihat cara kerja Laravel dasar.