• 17-04-2024, 09:12:29
    #1
    /app/Http/Controllers/Components/MenuController.php Kodum Var
    <?php
    namespace AppHttpControllers;

    use IlluminateHttpRequest;

    class MenuController extends Controller
    {
    public function render()
    {
    $jsonFilePath = storage_path('lang/languages.json');
    $jsonData = file_get_contents($jsonFilePath);
    $menuData = json_decode($jsonData, true);
    return view('Components.Menu', compact('menuData'));

    }
    }

    /resources/views/Components/Menu.blade.php

    @foreach ($menuData as $language => $code)
    <li class="w-sm-50 p-1">
    <a href="#"
    class="link d-inline-block dropdown-item clr-neutral-500 bg-neutral-20 :bg-neutral-20 rounded">
    <span class="d-block fw-medium mb-1"> {{ $language }}
    </span>
    <span class="d-block fs-12 clr-neutral-70">
    {{ $code }}
    </span>
    </a>
    </li>
    @endforeach
    Undefined variable $menuData


    bu hata neden çıkıyor ne eksik yapmış olabilirm

    (Laraveli Daha Yeni Öğreniyorum)
  • 17-04-2024, 09:26:49
    #2
    /app/Http/Controllers/Components/MenuController.php olacak bu
  • 17-04-2024, 09:54:52
    #3
    JosephC adlı üyeden alıntı: mesajı görüntüle
    /app/Http/Controllers/Components/MenuController.php olacak bu
    Eğer languages.json laravel kendi dil dosyası içindeyse.
    onun çağırıken: file_get_contents(lang_path('languages.json '));
    bu şekilde çağır.
  • 17-04-2024, 09:59:36
    #4

    Galiba Hiç MenuController Görmüyor
  • 17-04-2024, 10:03:46
    #5
    PM gönderdim
  • 17-04-2024, 10:09:05
    #6
    gsahin adlı üyeden alıntı: mesajı görüntüle
    Eğer languages.json laravel kendi dil dosyası içindeyse.
    onun çağırıken: file_get_contents(lang_path('languages.json '));
    bu şekilde çağır.
    Hata bundan kaynaklı da değil. Hata menudata değişkeni view dosyasına gitmiyor. Önce route içinde web.php bakın nasıl çağırıyorsunuz o sayfayı ona göre çözüm söyleyelim.
  • 17-04-2024, 10:12:17
    #7
    blap adlı üyeden alıntı: mesajı görüntüle
    Hata bundan kaynaklı da değil. Hata menudata değişkeni view dosyasına gitmiyor. Önce route içinde web.php bakın nasıl çağırıyorsunuz o sayfayı ona göre çözüm söyleyelim.
    Bir Component Olduğu İçin web.php Nasıl Ekleyeceğimi Bilmiyorum Acaba Bir Örnek Gösterebilir misniz?
  • 21-04-2024, 02:03:36
    #8
    JosephC adlı üyeden alıntı: mesajı görüntüle

    Galiba Hiç MenuController Görmüyor
    Hocam sırayla gidelim;
    1. Gereksiz sınıfları implement etmeyin. (6. satırı silin)
    2. Exception sınıfını implement edin. (Sildiğimiz 6. satırdaki kodun yerine 'use Exception;' yazın)
    3. Exception sınıfını dahil etmeyip kodu çalıştırdığınız için bi hata oluşuyor ve catch bloğu içine düşüyorsunuz. Burada da direkt return yaptığınız için view'a menuData değişkeni gönderilmiyor. Bunu çözmek için iki yolumuz var.
    Birinci yol; view içindeki foreach öncesinde @if(isset($menuData)) kontrolü.
    İkinci yol; controller içinde catch bloğunda viewi çağırdığımız yerde ['error' => 'Error decoding JSON data'] kodunu ['error' => 'Error decoding JSON data', 'menuData' => []] şeklinde değiştirme.