Laravel projesinde JavaScript tarafında giriş yapmış olan kullanıcının bilgilerine ulaşmanın en temiz yollarından biri, ana şablon dosyanızın (varsayılan
Eğer frontend tarafında Vue kullanıyorsanız Vue template içerisinde direkt olarak window objesine erişmede sıkıntı yaşayabilirsiniz. Bunun önüne geçmek için
Daha sonra Vue template içerisinde şu şekilde kullanabilirsiniz:
React/Angular veya diğer framework'lerde nasıl yapılır bilmiyorum.
app.blade.php) içine şunu yazmak:
PHP:
<script>
window.User = {
id: {{ optional(auth()->user())->id }},
name: '{{ optional(auth()->user())->name }}',
avatar: '{{ optional(auth()->user())->avatar }}',
};
// veya
window.User = {!! json_encode(optional(auth()->user())->only('id', 'name', 'avatar')) !!};
</script>
optional() kullanılmasının nedeni kullanıcı giriş yapmamışsa hata oluşmasını engellemek.Eğer frontend tarafında Vue kullanıyorsanız Vue template içerisinde direkt olarak window objesine erişmede sıkıntı yaşayabilirsiniz. Bunun önüne geçmek için
app.js dosyanızda kullanıcıyı Vue için global olarak tanımlayabilirsiniz:
JavaScript:
Vue.prototype.$user = window.User;
JavaScript:
<template>
<img :src="$user.avatar" class="w-16 h-16 rounded-full mx-auto">
</template>