Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 5

LARAVEL

KONSEP MVC
==================
model (menyiapkan database), view, controller
mobil : bensin, body, mesin

-buat project dmn aja


-cmd / open with gitbash / windows terminal

vanilla js -> js murni


php native -> php murni

--verify email, login, register, are u human (CAPTHA), forgot pw, change pw

INSTAL PRJOCET LARAVEL


===============================

//install laravel di computer (1x aja)


composer global require laravel/installer

//buat project laravel di folder


composer create-project laravel/laravel namaProject --prefer-dist
laravel/laravel ->nama package
--prefer-dist ->laravel dgn versi terbaru

//kalo ga bisa
composer create-project laravel/laravel namaProject --prefer-dist --ignore-
platform-req=ext-fileinfo

composer -> buat liat options, list command dll


composer --version -> liat versi laravelnya
composer fund

A. LESSON
================
1. Routing
2. Templating
3, Method
4. Migration
5. Model
6. Controller
7. CRUD

B. ARTISAN COMMAND
=======================
1. php artisan serve
menjalankan project

2. php artisan make:controller


membuat controller baru

3. php artisan make:model


membuat model baru

4. php artisan make:migration


membuat migration baru
5. php artisan migrate
menjalankan migrasi database

C. DIRECTORY
================
letak folder
Models : app -> models ==database (nama db)
Controller : app -> http -> controller
View : resources -> views

routes == jalur url web


public == asset (sifatnya statis; kyk css, js, photo)
Migrations : database -> migrations ==nama table db

D. EXTENSIONS
================
1. Laravel Blade Formatter
2. Laravel Blade Snippets
3. Laravel Snippets

E. SHORTCUTS
==============
1. ctrl + ` == terminal di vscode

STEP
==================
1. putusin si route, trus ubah route ke new file yg bakal kita buat (resource ->
views -> ....blade.php)
terus kita buat folder khusus (layouts) buat kerangka2nya, jadi nnti di
homenya tinggal extends dan section2 aja

*kalo tanpa blade -> @ nya gabakal kebaca

main page : (kerangka) @yield <==> @section (bagian)

--ex: di body ada include/extends-navbar, yield-content


@include ->akan menginclude si navbar, jadi navbar akan berada tepat di paling atas

@extends ->maka si konten akan di jalankan lalu akan mengextend navbar ( jadi
navbarnya ada setelah konten, padahal hrsnya navbar selalu ada di atas)

@include('layouts.navbar') == @include('layouts/navbar')

BEDA @include DAN @extends


kalo extends kita bisa nambahin perintah2 (@section <==> @yield) gitu, kalo include
gabisa

CLONE GITHUB
==============
vendor -> isinya nama package (ex: extension) contoh : laravel/adeline
.env -> credentials (nama db, username, password, etc.)

1. copy link repository


2. terus bebas mau di taro di folder mana aja
3. cmd => git clone pasteLinknya
4. udah ada dee projectnya
cd projectnya
code .
5. cmd => php artisan serve
harusnya ini gabakal jalan, karena folder vendornya gaada
6. cmd => composer install
kalo gabisa; cmd => composer install --ignore-platform-req=ext-fileinfo
nah harusnya bisa, dan folder vendornya bakal muncul
7. cmd => php artisan serve
8. trus copy url , nah dia bakal 500 server error
Karena .env nya gaada
nah kita bikin aja .env nya kita copas dari .env.example
9. kalo masi error juga
di terminal vscode => php artisan key:generate
untuk mengenerate key (APP_KEY)

Authentication -> login, register, forgot password, change password, signup,


verifikasi email (menghindari input email abal2) , verifikasi CAPTHA (r u human),
profile

Authorization -> role management

starter kits Authentication => laravel breeze, laravel jet stream


-> kalo install itu, bakal include si tailwind (framework css) jadi tampilannya uda
jadi , proses udah jadi , tinggal pake aja de:D

manual Authentication -> laravel ui -> pake bootstrap

yg berhubungan dengan blade bakal arahin ke resources-> views

.container -> class="container"

container-fluid --> jadi menjorok ke dalam


ms-auto -> margin start
me-auto -> margin end
class="form-control" ->jadi lebi rapi kebawah semua

dari tepi ke tepi = 12


col-md-4 = membagi 3 bagian dengan tiap kotak ukuran 4

mt-5 -> margin top ==jarak antara navbar dgn content

p-3 -> padding 3 == jarak kotak kanan kiri atas bawah dengan isi

rounded -> biar pinggirnya melengkung

masukin css bootsrap, icon, dll di head


masukin js di body

buat folder css baru di public


href="{{ asset(css/app.css) }}
asset =>> diarahin ke folder public

bikin tombol submit


nyalain xampp -> bikin database
$table->enum('role', ['admin', 'user'])->default('user');
^tambahin ini di migration user
buat role management

trus env nya kita masukin nama db yg kita buat


trus di terminal -> php artisan migrate = untuk code yg ada di vscode masukkin
data2 ke databasenya (tabel)

enum ==> kyk dropdown yg bisa kita pilih

php artisan make:controller AuthController


lalu terbuat deh, ada di app-> http ->controller

terus route nya kita arahin ke controllernya


DARI
Route::get('/register', function () {
return view('auth/register');
});

JADI
Route::get('/register', 'App\Http\Controllers\
AuthController@showRegistrationForm');

trus function yang ada di route tadi kita pindahin ke authcontroller

trus di register.blade.php di form ny a kita tambahin method post karena mau


nambah data ke database

$request untuk mengetahui apa yang diketik oleh user

menampilkan halaman pake method get


menambah data pake method post

password_confirmed harus ini karna udah bawaan dari laravel, nanti dia bakal
bandingin sama si passwordnya

@csrf
Cross Site Request Forgery
mengindari page expired
mencegah web lain mengarahkan action ke web kita
dia bakal buat suatu token di halaman web kita, nah kalo ada sesuatu yg di input
dia bakal cek si token sama atau beda. karena kalo dari web lain tokennya bakal
beda dan akan gagal, nah kalo sama maka berhasil

trus di app->models->user tambahin additional input

buat encrypt password


-bcrypt
-md5
-sha1
-base64

php artisan migrate:fresh


==>semua table bakal di drop semua, terus dibuat ulang
kalo error coba cek nama database nya

email:dns
==>validasi email with '@' and domain '.'
middleware
app->http->controller->middleware->kernel

yg ada di .gitignore
semuanya buat css sama js
kecuali si vendor ->dia itu buat php

href="#"
dia tetep

href=""
dia bakal refresh page nya

onclick="event.preventDefault();
untuk atasin biar ga loading

document.getElementById('logout-form').submit();">
kita get yg namanya logout-form
lalu kita submit
dan dia bakal arahin urlnya ke /logout
terus csrf dee

You might also like