Tech
Batal
KATEGORI
link has been copied
3918
Lapor Hansip
30-12-2012 23:20

[Comunity] Laravel A Framework For Web Artisans :: Belajar, Diskusi, Tanya, dll.

Hallo Gan, berhubung di kaskus ini saya ubek2 belum ada thread yang membahas Laravel, maka dari itu saya ijin untuk membuat threadnya untuk keperluan Belajar, Diskusi dan Tanya-jawab.



Diubah oleh aa_pratomo
0
Masuk atau Daftar untuk memberikan balasan
[Comunity] Laravel A Framework For Web Artisans :: Belajar, Diskusi, Tanya, dll.
09-04-2018 23:38
Quote:Original Posted By ReaLaLuN


method route yang bener untuk akses form login di atas gimana ya gan
berikut ane kasih foto controller2 nya

login controller

register controller

login blade


Jadi gini gan, php artisan make:auth itu kan fitur bawaan authentication dari laravel, ketika agan ketik perintah tersebut maka akan otomatis meregenerate view auth tepatnya pada folder
Code:
resource/views/auth/
dan file route(route/web.php) akan di isi dengan code
Code:
Route::auth();
. Route::auth sebenarnya memanggil method route auth yang ada pada framework bawaan laravel, bisa agan lihat pada folder
Code:
vendor/laravel/framework/src/Illuminate/Routing/Router.php pada method auth() 
dan agan akan menjupai route untuk login bawaan laravel
Code:

$this->get('login', 'Auth\LoginController@showLoginForm')->name('login');
$this->post('login', 'Auth\LoginController@login');
$this->post('logout', 'Auth\LoginController@logout')->name('logout');

// Registration Routes...
$this->get('register', 'Auth\RegisterController@showRegistrationForm')->name('register');
$this->post('register', 'Auth\RegisterController@register');

// Password Reset Routes...
$this->get('password/reset', 'Auth\ForgotPasswordController@showLinkRequestForm')->name('password.request');
$this->post('password/email', 'Auth\ForgotPasswordController@sendResetLinkEmail')->name('password.email');
$this->get('password/reset/{token}', 'Auth\ResetPasswordController@showResetForm')->name('password.reset');
$this->post('password/reset', 'Auth\ResetPasswordController@reset');

Ketika di file route(route/web.php) tertuliskan Route::auth(); berarti route untuk login agan akan sama persis dengan code di atas, jika agan ingin mengubah url auth, mungkin salah satu cara termudahnya adalah menghapus Route::auth(); yang ada di file route(route/web.php) kemudian paste code di atas kemudian ubah $this-> menjadi Route:: dan ubah url prefixnya, contohnya saya akan mengubah url login default ('login') laravel menjadi yang saya inginkan ('page/login') .
Code:

Route::get('page\login', 'Auth\LoginController@showLoginForm')->name('login');
Route::post('login', 'Auth\LoginController@login');
Route::post('logout', 'Auth\LoginController@logout')->name('logout');

// Registration Routes...
Route::get('register', 'Auth\RegisterController@showRegistrationForm')->name('register');
Route::post('register', 'Auth\RegisterController@register');

// Password Reset Routes...
Route::get('password/reset', 'Auth\ForgotPasswordController@showLinkRequestForm')->name('password.request');
Route::post('password/email', 'Auth\ForgotPasswordController@sendResetLinkEmail')->name('password.email');
Route::get('password/reset/{token}', 'Auth\ResetPasswordController@showResetForm')->name('password.reset');
Route::post('password/reset', 'Auth\ResetPasswordController@reset');


Route ('page\login') itu kan mengarah pada file controller LoginController pada method showLoginForm, jika agan buka pada controller
Code:
App/Http/Controllers/Auth/LoginController.php
agan tidak akan menemukan lokasi method showLoginForm, akan tetapi mengarah pada Illuminate\Foundation\Auth\AuthenticatesUsers, yang isinya
Code:

public function showLoginForm()
{
return view('auth.login');
}

code di atas menandakan bahwa ketika route get login akan mereturn ke view auth/login yang filenya telah di regenerate di
Code:
resource\view\auth\login.blade.php


Kesimpulannya adalah, jika agan ingin tetap menggunakan fitur authentication bawaan laravel dan hanya ingin mengubah tampilannya saja, agan bisa memodifikasi tampilan login, registrasi, reset pass, dll di
Code:
resource\view\auth\
yang perlu agan keep ketika memodifikasi tampilan bawaan laravel adalah pada bagian tag penting untuk pengiriman data seperti <form>, validation dari laravel, dan <input name>, Namun jika agan ingin membuat login dan registrasi manual, untuk registrasi seperti store data ke Database pada umumnya, namun passwordnya harus terenkripsi (https://laravel.com/docs/5.6/hashing) untuk login secara manual gunakan method Auth::attempt seperti dokumentasi laravel, seperti ini.
Code:

public function authenticate(Request $request)
{
$email = $request->email;
$password = $request->password;
if (Auth::attempt(['email' => $email, 'password' => $password])) {
// Authentication passed...
return redirect()->intended('dashboard');
}

}
0 0
0
icon-hot-thread
Hot Threads
obrolan-hangat-logo
Obrolan Hangat
Linux dan OS Selain Microsoft & Mac
Copyright © 2020, Kaskus Networks, PT Darta Media Indonesia