• 18-09-2019, 18:22:40
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Selam dostlar. Birtane küçük mvc yapısı kullanıyorum videolardan öğrenmiştim. Kırmızı çizgilerle işaretlediğim her yerde viewlarda controllerda ve modelde $this kullanabiliyorum. Ok ile işaretlediğim yerde nasıl $this kullanabilirim?
    Kullanırsam hata şu
    Fatal error: Uncaught Error: Using $this when not in object context in C:xampphtdocssummonerconfigdefault.php:2 Stack trace: #0 C:xampphtdocssummonerinit.php(6): require_once() #1 C:xampphtdocssummonerindex.php(3): require_once('C:xampphtdocs...') #2 {main} thrown in C:xampphtdocssummonerconfigdefault.php on line 2
  • 20-09-2019, 22:30:37
    #2
    PHP OOP kavramını tam olarak oturtmanız için şu dokümanı baştan sonra okumanızı tavsiye ederim. https://www.php.net/manual/tr/language.oop5.basic.php

    $this dediğimiz değişken, bir sınıf içerisindeki metot ve özelliklere, kalıtım yolu ile üst soydan gelen metot ve özelliklere yine bu sınıf içerisinden erişim sağlamak için kullanılır. Sanal bir değişkendir, tek amacı o sınıfı temsildir. Bahsi geçen dosya içeriğinde bir sınıf (nesne) yoksa, bu dosya içerisinde $this değişkeni kullanılmaz.
  • 21-09-2019, 10:56:03
    #3
    bayGaReZ adlı üyeden alıntı: mesajı görüntüle
    PHP OOP kavramını tam olarak oturtmanız için şu dokümanı baştan sonra okumanızı tavsiye ederim. https://www.php.net/manual/tr/language.oop5.basic.php

    $this dediğimiz değişken, bir sınıf içerisindeki metot ve özelliklere, kalıtım yolu ile üst soydan gelen metot ve özelliklere yine bu sınıf içerisinden erişim sağlamak için kullanılır. Sanal bir değişkendir, tek amacı o sınıfı temsildir. Bahsi geçen dosya içeriğinde bir sınıf (nesne) yoksa, bu dosya içerisinde $this değişkeni kullanılmaz.
    Evet hocam $this dediğim yani core/Controller.php sınıfını temsil ediyordu. O sınıfın içindeki model isimli methodu kullanmam lazımdı. init.php de hepsi require ediliyordu. Birkaç uğraştım şimdilik uğraşıyorum hala
  • 21-09-2019, 13:49:06
    #4
    İlgili sınıfı örnekleyip istediğiniz metodu kullanabilirsiniz.

    $ornek = new Sinif();
    $ornek->istedigimMetot();
  • 21-09-2019, 15:55:54
    #5
    bayGaReZ adlı üyeden alıntı: mesajı görüntüle
    İlgili sınıfı örnekleyip istediğiniz metodu kullanabilirsiniz.

    $ornek = new Sinif();
    $ornek->istedigimMetot();
    Öyle hata veriyor hocam. O sınıf içerisinde Session.php örnekliyor. Onun hatası çıkıyor bu sefer
  • 21-09-2019, 23:42:25
    #6
    $this olarak kullanmak istediğin metodların bulunduğu sınıfı extends olarak belirtmeliyim yada __construct ile o sınıfı başlatırken içeriye alıp bi değişken üzerinden kullanabilirsin. Başka bi şekilde de başlattığın sınıfları Registry mantığında static olarak yükleyip istediğin yerden ulaşabilirsin. Pek çok çözüm var ama dökümantasyondan öte kullandığın mantıktan biraz daha söz etmelisin.