• Uyarı

Trickler Laravel projesinde JavaScript ile kullanıcı bilgilerine ulaşma

nbayramberdiyev

New member
Yönetici
#1
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 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;
Daha sonra Vue template içerisinde şu şekilde kullanabilirsiniz:
JavaScript:
<template>
    <img :src="$user.avatar" class="w-16 h-16 rounded-full mx-auto">
</template>
React/Angular veya diğer framework'lerde nasıl yapılır bilmiyorum.