Herkese iyi çalışmalar ;
Route::get('/', function () {
return Inertia::render('Welcome', [
'canLogin' => Route::has('login'),
'canRegister' => Route::has('register'),
'laravelVersion' => Application::VERSION,
'phpVersion' => PHP_VERSION,
]);
});
Yukarda oluşturulmuş Route'da tanımlanan şu iki satırı 'canLogin' => Route::has('login') ve 'canRegister' => Route::has('register'), Welcome.vue içinde şu şekilde kullanıyor
<div v-if="canLogin" class="d-flex justify-content-end">
<div>
<inertia-link v-if="$page.props.user" href="/dashboard" class="text-muted">
Dashboard
</inertia-link>
ben bu yukardaki kod blogunu eğer sisteme giriş oldu ise dashboard linkini göster şeklinde yorumluyordum ve kaldıki bu şekildede çalışıyor , ve kod bir else ile şöyle devam ediyor
<template v-else>
<inertia-link :href="route('login')" class="text-muted">
Log in
</inertia-link>
<inertia-link v-if="canRegister" :href="route('register')" class="ml-4 text-muted">
Register
</inertia-link>
</template>
</div>
yani giriş yok ise Login ve register linklerini göster şeklinde değerlendiriyordum . Ve şu soruyu sordum
v-if="canLogin" var ve bu kullanıcı giriş yaptıysa anlamına geliyorsa hemen alt satırda v-if="$page.props.user" neden var sonra bu canLogini silince uygulamanın hiçbir sorun olmadan çalışmaya devam ettiğinin farkına vardım .
Peki nedir bu Route::has('login'), daha dogrusu Route::has işlevi nedir ? Tamam rota varsa ama neden burda rotanın olup olmadıgını denetleniyorki login ve register rotasının olup olmamasını denetlenmesini kavrayamadım Route::has başka bir işleve sahip olabilirmi ?