Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

Laravelde başka methoda model gönderme

Konu, 'Framework / MVC' kısmında ysf45 tarafından paylaşıldı.

  1. ysf45

    ysf45 Üye

    Kayıt:
    11 Kasım 2007
    Mesajlar:
    28
    Beğenilen Mesajlar:
    0
    Merhaba.Laravel 5 ile bir proje geliştirmekteyim.
    PHP:

    public function test()
    {

    return 
    $this->test2(\App\Models\User $user);

    }

    public function 
    test2($user)
    {

    return 
    $user->find(1);

    }

    böyle bir şey yapabiliyor muyuz laravelde.şimdiden teşekkürler.
     
  2. deathisonitsway

    deathisonitsway x-coder

    Kayıt:
    7 Kasım 2007
    Mesajlar:
    6,140
    Beğenilen Mesajlar:
    6
    Meslek:
    php-coder
    Şehir:
    abroad
    PHP:

    $this
    ->test2("\App\Models\User");

     
  3. m.erin

    m.erin Aktif Üye

    Kayıt:
    17 Nisan 2005
    Mesajlar:
    472
    Beğenilen Mesajlar:
    0
    Meslek:
    Yazılım Geliştirici
    Şehir:
    KONYA
    Doğru mu anladım bilmiyorum ama, şu şekilde olmalı.

    PHP:
    public function test()
    {

        return 
    $this->test2(new \App\Models\User);

    }

    public function 
    test2(\App\Models\User $user)
    {

        return 
    $user->find(1);

    }
    Neden böyle bir şey istiyorsunuz? DI mevzusu için ise; bu şekilde değil de test2 fonksiyonuna parametre olarak \App\Models\User sınıfı tarafından implement edilmiş bir interface geçirmeniz daha doğru olur. Yoksa bu kullanımın bir avantajı yok. Zira bu durumda şu şekilde kullanmanız daha doğru:

    PHP:
    public function test()
    {

      return 
    $this->test2();

    }

    public function 
    test2()
    {

       
    $user = new \App\Models\User;
      return 
    $user->find(1);

    }
    hatta test2 fonksiyonu içerisinde yeni bir nesne oluşturmaya da gerek yok:

    PHP:
    public function test()
    {

      return 
    $this->test2();

    }

    public function 
    test2()
    {

      return \
    App\Models\User::find(1);

    }